1.gcc命令less
gcc 編譯選項 編譯名函數
2.編譯選項詳解優化
-o 肯定可執行文件的名稱spa
-c 只編譯不鏈接成爲可執行文件,會生成.o文件調試
-g 可產生調試信息編譯
-O 對程序進行優化gcc
-O2 優化更優秀,編譯速度更慢sso
-Idirname 講dirname,如gcc -I/home/lesson/gc
將dirname所指的目錄加入到頭文件目錄列表中程序
-Ldirname 將dirname所指的目錄加入到庫文件目錄列表中
-lname 在鏈接時,裝載名字爲「libname.a」的函數庫,該函數庫位於系統預設的目錄或者由-L選項肯定的目錄下。例如:-lm 表示裝載名字爲「libm.a」的函數庫。
例子:gcc foo.c -L/home/lib -lfoo -o foo
-static 靜態鏈接庫文件
例子:gcc -static hello.c -o hello
靜態鏈接和動態鏈接的區別:
靜態鏈接會和應用程序綁定運行(程序比較大)
動態鏈接會在應用程序運行時加載 (程序較小)