编译静态库,链接生成带有完整符号表的目标文件

发布时间 2023-12-16 01:50:09作者: HelliWrold1

在工作时遇到了将开源库代码扒到RTOS平台的需求,但是开源库的代码条件编译太多,不清楚代码的运行流程,只好将开源库编译成静态库,与应用代码进行链接,编译出带有宏信息、函数信息的符号表的可执行文件。

  • 编译静态库时需要注意的问题

    • 编译时注意编译每个目标文件时使用的编译选项,如果出现-O3-g1之类的选项,将其改为下面的形式

      gcc -O0 -g3 test.c -o test.o
      
    • 如果目标平台有大小端要求,需要让静态库与目标平台的大小端模式相同,比如目标平台使用小端模式,在编译选项中添加-EL

      gcc -EL -O0 -g3 test.c -o test.o
      

编译完成后将静态库与应用代码编译的目标文件进行链接,注意如果使用交叉编译,在Debug时,使用的gdb也应该为目标平台对应的工具链