国产探花免费观看_亚洲丰满少妇自慰呻吟_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...


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中西区| 高邑县| 万盛区| 博湖县| 永清县| 民乐县| 团风县| 土默特左旗| 合肥市| 三台县| 玉林市| 虞城县| 韶山市| 永吉县| 疏附县| 张家界市| 凉城县| 绥德县| 灌云县| 巩留县| 东山县| 蓝田县| 巴林右旗| 武义县| 武邑县| 且末县| 元朗区| 嵩明县| 莎车县| 元谋县| 类乌齐县| 庐江县| 大庆市| 忻州市| 天镇县| 南岸区| 马龙县| 莆田市| 涟水县| 荔波县| 五河县|