C語言 linux 下多檔案編譯

2022-03-02 09:00:09 字數 2517 閱讀 3588

在linux下,用命令編譯

使用 gcc -c file.c 命令會生成乙個相應的 file.o。

編譯完所有的.c檔案之後,使用命令 gcc a.o b.o c.o -o main 會在當前目錄下生成乙個linux可執行檔案

再使用 ./main 命令即可執行該c程式

以之前的簡單鍊錶為例

[root@izwz94jyld0skyrwc1772ez yeyeck]# ll

total

12-rw-r--r-- 1 root root 1795 sep 8

21:16

list.c

-rw-r--r-- 1 root root 1583 sep 8

21:16

list.h

-rw-r--r-- 1 root root 1956 sep 8

21:16

movies.c

[root@izwz94jyld0skyrwc1772ez yeyeck]#

gcc -c list.c

[root@izwz94jyld0skyrwc1772ez yeyeck]# ll

total

16-rw-r--r-- 1 root root 1795 sep 8

21:16

list.c

-rw-r--r-- 1 root root 1583 sep 8

21:16

list.h

-rw-r--r-- 1 root root 2712 sep 8

21:28

list.o

-rw-r--r-- 1 root root 1956 sep 8

21:16

movies.c

[root@izwz94jyld0skyrwc1772ez yeyeck]#

gcc -c movies.c

[root@izwz94jyld0skyrwc1772ez yeyeck]# ll

total

20-rw-r--r-- 1 root root 1795 sep 8

21:16

list.c

-rw-r--r-- 1 root root 1583 sep 8

21:16

list.h

-rw-r--r-- 1 root root 2712 sep 8

21:28

list.o

-rw-r--r-- 1 root root 1956 sep 8

21:16

movies.c

-rw-r--r-- 1 root root 4000 sep 8

21:28

movies.o

[root@izwz94jyld0skyrwc1772ez yeyeck]#

gcc movies.o list.o -o movies

[root@izwz94jyld0skyrwc1772ez yeyeck]# ll

total

36-rw-r--r-- 1 root root 1795 sep 8

21:16

list.c

-rw-r--r-- 1 root root 1583 sep 8

21:16

list.h

-rw-r--r-- 1 root root 2712 sep 8

21:28

list.o

-rwxr-xr-x 1 root root 13480 sep 8

21:29

movies

-rw-r--r-- 1 root root 1956 sep 8

21:16

movies.c

-rw-r--r-- 1 root root 4000 sep 8

21:28

movies.o

[root@izwz94jyld0skyrwc1772ez yeyeck]# ./movies

enter first movie title:

yyyenter your rating

<0-10>:

5enter next movie title (empty line to stop):

uuuenter your rating

<0-10>:

6enter next movie title (empty line to stop):

iiienter your rating

<0-10>:

3enter next movie title (empty line to stop):

here is the mpvie list:

movie: yyy, rating:

5movie: uuu, rating:

6movie: iii, rating:

3you entered

3movies.

bye![root@izwz94jyld0skyrwc1772ez yeyeck]#

Linux下C多檔案編譯Makefile

第一 makefile檔案編寫 1.第乙個字母大寫,其餘的都是小寫。2.makefile關係到了整個工程的編譯。3.可以執行作業系統的命令。4.其實makefile的本質是定義了檔案之間的依賴性問題。5.第乙個字母大寫,其餘的都是小寫。make命令執行時,需要乙個 makefile 檔案,以告訴ma...

Linux下面C語言多檔案編譯

首先開啟命終端 alt ctrl t 用vim編寫三個檔案main.c,stack.c,stack.h main.c include include stack.h void main stack.h typedef struct stack stack extern void push stack...

C語言多檔案編譯

學習c語言的時候,有時候前面寫的函式希望以後可以直接呼叫,而不用重寫。記錄上午學習的成果,希望對有同樣需求的新手有幫助 要在乙個原始檔中呼叫另乙個源文中的函式,需要先把那個函式包含進來即使用 include。例如 現需要在show.c中呼叫display 函式,可以將 分開寫在三個檔案中,分別是sh...