编译静态库,链接生成带有完整符号表的目标文件
在工作时遇到了将开源库代码扒到RTOS平台的需求,但是开源库的代码条件编译太多,不清楚代码的运行流程,只好将开源库编译成静态库,与应用代码进行链接,编译出带有宏信息、函数信息的符号表的可执行文件。
-
编译静态库时需要注意的问题
-
编译时注意编译每个目标文件时使用的编译选项,如果出现
-O3
或-g1
之类的选项,将其改为下面的形式gcc -O0 -g3 test.c -o test.o
-
如果目标平台有大小端要求,需要让静态库与目标平台的大小端模式相同,比如目标平台使用小端模式,在编译选项中添加
-EL
gcc -EL -O0 -g3 test.c -o test.o
-
编译完成后将静态库与应用代码编译的目标文件进行链接,注意如果使用交叉编译,在Debug时,使用的gdb也应该为目标平台对应的工具链