gcc 预处理、编译、汇编、链接
-
-E预处理,将头文件展开,替换
#define,删掉注释。-C阻止预处理器删除注释。
-
-S生成汇编后的文件,
-fverbose-asm circle.c将变量名作为注释。
-
-c生成目标文件,还差一步链接,重定位:将符号换为地址。
-
-o指定输出文件的文件名
-
-I目录附加的头文件搜索路径,是大写i.
-
关于链接库
-
编译、链接时需要链接库
-lname -Lpath附加链接库路径
path,或者在系统链接库路径下无需写-L,链接库名字是libname.so/a(动态链接库/静态链接库) -
生成自己的链接库
-
生成动态链接库
g++ name1.cpp name2.cpp -fPIC -shared -o libname.so动态链接库运行是需要加载,所以要放在系统链接库路径下。
-
生成自己的静态链接库
g++ name1.cpp name2.cpp -c #生成目标文件 ar rcs libname.a name1.o name2.olibname.a为生成的静态链接库,后边的是需要整合的目标文件,静态链接库运行时不需要系统加载,链接完后就可以删掉了,因为链接完相当于把链接库附加进可执行文件了。
-
-
-
objdump:目标文件查看
-h
打印各段的基本情况-s
打印各段的十六进制内容-d
将包含指令的段内容反汇编

浙公网安备 33010602011771号