这是我总结的C语言的编译过程,为了不忘记,就记录下来吧。
以test.c 为例。第一步:预处理。gcc -E test.c -o test.i
第二步:编译。gcc -S test.i -o test.s(汇编文件)
第三步:汇编。gcc -C test.s -o test.o
第四部:连接。gcc -test.o -o test
下面是参数的说明: -o 指定输出文件, -s表示在编译期间生成汇编代码后停止, -fPIC表示编译为位置独立的代码(位置无关是指可以在进程的任意内存位置执行的目标码,动态链接库必须使用),不用这个选项的话编译后的代码是位置相关的。
-I 指明动态库的名称,该名称是处在头lib和后缀.so中的名称,例如动态库名称是libtest.so 那么" -I test "