国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

gcc的使用

2024-06-28 16:00:25
字體:
來源:轉載
供稿:網友

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 xxx.c -o xxx.o //編譯成OBJ

 

生成dll

gcc -shared xxx.c -o xxx.dll //編譯成DLL, 注意, Cygwin-GCC默認導出所有的Function.

 

ar r xxx.lib xxx1.o xxx2.o //打包多個obj成一個Lib (非連接)

gcc xxx.c ./L aaa.dll -o xxx.exe //引用外部DLL生成EXE

gcc xxx.c yyy.c -o zzz.exe //連接多個C文件, 生成EXE.

gcc -I"/bin/include" -c xxx.c -o xxx.o //引用/bin/include目錄下頭文件,生成OBJ

gcc -L"dll.a" xxx.c -o xxx.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.dllEXPORTSAllocMemory @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即可, 但要注意XXX.exe 和MyTest.dll要放在同一目錄下.

可以用 gcc --help 查看具體的命令 etc...


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精河县| 固安县| 潍坊市| 大名县| 海淀区| 科技| 忻城县| 绩溪县| 龙口市| 大竹县| 旬邑县| 通州市| 西平县| 京山县| 罗江县| 崇州市| 南江县| 绥化市| 曲麻莱县| 外汇| 贵港市| 东台市| 旬邑县| 同心县| 五家渠市| 隆林| 灵丘县| 阜新市| 垦利县| 图片| 扶风县| 鄯善县| 保山市| 天门市| 锡林郭勒盟| 洪洞县| 韶关市| 成都市| 开封市| 固始县| 革吉县|