所謂的C語言多文件編程就是,將代碼實現模塊化。比如說一個項目的一項功能放在一個一個文件里,然后將實現這個功能的函數放在一個.c文件,在用一個文件將
該.c文件中的所有函數進行聲明,這時我們再定義一個主函數main.c文件,這時main.c文件需要哪些函數,我們只需要調用即可。下面來看給具體實例實現過程:
1、創建myfile.h聲明函數文件(后面創建文件同樣采用vim)
vim myfile.h

2、創建myfile.c函數實現文件

3、創建主函數main.c文件

4、編譯myfile.c文件和main.c文件
gcc myfile.c main.c -o main
這時當前文件夾下會編譯出一個main文件,然后執行此文件即可,-o表示指定生成文件的文件名

對於c語言而言,不僅可以實現代碼編寫的模塊化,還可以實現,代碼編譯的模塊化。編譯的過程有:預處理→編譯→匯編→鏈接,所以我們可以先將逐個代碼先編譯到匯編步,但不鏈接,等到所有文件都逐個編譯不鏈接好之后,再對文件進行合並鏈接即可。
預處理:gcc -E myfile.c -o myfile.i
編譯:gcc -S myfile.i -o myfile.s c文件變成匯編文件
匯編:gcc -c myfile.s -o myfile.o 匯編文件變成二進制文件
鏈接:gcc myfile.o -o myfile 將函數庫中相應的代碼組合到目標文件中
具體操作:
1、編譯但不鏈接
gcc -c myfile.c main.c
執行后會產生myfile.o和main.o兩個二進制文件。也可以單獨,gcc -c myfile.c 然后再gcc -c main.c

2、合並.o文件並鏈接
gcc myfile.o main.o -o haha

