vscode簡單c語言多文件編譯


多文件編譯

之前知乎抄的vscode配置
https://www.cnblogs.com/esllovesn/p/10012653.html這個是簡化版也是更方便版的,建議直接看這個。
https://www.zhihu.com/question/30315894這個是知乎原文,比較復雜。

進行少量的多文件編譯,C語言直接用gcc 源文件1.c 源文件2.c 頭文件1.h這樣就好,C++用g++。默認生成a.exe,加-o可指定輸出文件名,其余選項百度gcc使用教程。如果需要多次編譯可以寫一個批處理。

  • 進行大量的多文件編譯,請學習如何寫makefile或使用cmake。然后把tasks的命令改成調用make等。如果你想使用別人的庫,比如ffmpeg,可能需要在命令中指定-I、-l(小寫的L)、-L。具體參數閱讀那個庫的文檔。還可能需要把路徑添加到c_cpp_properties.json和compile_flags.txt里來配置Intellisense。這些情況下可以考慮單獨建一個工作區,不要和單文件編譯的共用。其實不新建工程(Project)、只是單文件就能調試,是不利於以后使用和理解大型IDE的。不過初學也不用掌握那么多,不要覺得建工程很麻煩、不建工程就能編譯很強就是了。總之這些和VSC無關,用其它IDE或是手動編譯也會遇到差不多的問題,也有點復雜。

.c文件-->預處理-->.i文件-->編譯-->.s文件-->匯編-->.o文件-->鏈接-->.exe文件

gcc -E (E大寫)預處理(preprocessing)。不會檢查語法錯誤。win10需要使用重新定向生成.i文件gcc -E test.c > test.i或者指定文件名gcc -E test.c -o test.i,否則只會輸出到stdout。

gcc -S(S大寫)編譯(compiling)。將.i文件編譯成.s文件,即使不指定文件名也會生成與.i文件同名的.s文件,即gcc -S test.i -o test.sgcc -S test.i相同。並且檢查語法錯誤是在編譯過程進行的

gcc -c(c小寫)匯編(assembling),將.s文件轉換成機器能執行的機器代碼.o文件,同樣即使不指定文件名也會生成與.s文件同名的.o文件,gcc -c test.s -o test.ogcc -c test.s相同。

gcc x.ogcc x.o -o x.exe鏈接(linking)將機器碼.o文件連接成可執行文件.exe。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM