在linux下,用命令編譯
使用 gcc -c file.c 命令會生成乙個相應的 file.o。
編譯完所有的.c檔案之後,使用命令 gcc a.o b.o c.o -o main 會在當前目錄下生成乙個linux可執行檔案
再使用 ./main 命令即可執行該c程式
以之前的簡單鍊錶為例
[root@izwz94jyld0skyrwc1772ez yeyeck]# lltotal
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...