gcc命令用於生成c語言的庫
g++用於生成c++的庫
使用g++ --help檢視幫助
g++ class\first.cpp -static -g -o first
編譯 first.cpp 生產乙個 名字為first.exe的檔案
生成.o檔案
g++ -o0 -g3 -wall -c -fmessage-length=0 -ofirst.o first.cpp
gcc -c ***.c -o ***.o //編譯成obj
生成dll
gcc -shared ***.c -o ***.dll //編譯成dll, 注意, cygwin-gcc預設匯出所有的function.
ar r ***.lib ***1.o ***2.o //打包多個obj成乙個lib (非連線)
gcc ***.c ./l aaa.dll -o ***.exe //引用外部dll生成exe
gcc ***.c yyy.c -o zzz.exe //連線多個c檔案, 生成exe.
gcc -i"/bin/include" -c ***.c -o ***.o //引用/bin/include目錄下標頭檔案,生成obj
gcc -l"dll.a" ***.c -o ***.exe //連線dll.a, 生成exe
額外的,也可以寫自己的匯出lib檔案, 以方便其餘程式引用dll (如cobol2002編譯器就不支援直接引用dll, 這個時候可以寫乙個def, 並匯出lib檔案, 便於cobol2002使用)
具體方法如下:
1. 編譯生成dll :
如: gcc -shared mytest.c -o mytest.dll, 生成mytest.dll.
2. 寫乙個def檔案 (這裡是mytest.def), 簡單的格式大致如下:
library mytest //這裡的mytest對應於mytest.dll
exports
allocmemory @1 //匯出的第乙個function : 對應於mytest.dll裡面的allocmemory(...), 注意, 引數可不用寫
readmemory @2 //匯出的第二個function : 對應於mytest.dll裡面的readmemory-function.
//注意: function可以不用全部匯出, 可以只選擇你需要的function.
3. 用lib工具(vc6有提供)生成lib檔案 (這裡是mytest.lib) :
lib /def:mytest.def //預設生成的名稱為mytest.lib.
4. 到此生成完畢, 連線的時候只需要引用mytest.lib即可, 但要注意***.exe 和mytest.dll要放在同一目錄下.
可以用 gcc --help 檢視具體的命令 etc...
gcc的常用編譯命令
gcc c 源檔名 編譯不鏈結,生成.o檔案 gcc c test.c test2.cgcc 輸入檔案 o 輸出檔名 指定輸出檔案,生成可執行檔案 gcc test.o test.o o testgcc e c 源檔名 o ci.i e表示把預處理的結果匯出到ci.i檔案中 c表示不刪除注釋 gcc...
gcc常用編譯命令
2。gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將編譯出乙個名為test的程式,o引數用來指定生成程式的名 字3。為什麼會出現undefined reference to xx 錯誤?首先這是鏈結錯誤,不是編譯錯誤,也就是說如果只...
GCC常用命令
1.gcc 原先指 gun c complier,現指 gun complier collections。2.mingw 3.常用命令 編譯過程分為四個階段進行,即預處理 也稱預編譯,preprocessing 編譯 compilation 彙編 assembly 和連線 linking prepr...