android如何编译出带符号表的.so库

本文介绍了如何在Android环境下编译出带有符号表的.so库。默认情况下,Android编译的.so库会被strip处理,但可以通过保留调试信息来保持符号表。通过对比strip前后库文件的大小和使用readelf工具查看section header,可以发现带符号表的库文件大小更大,且包含调试所需的section。文章还提到了ELF文件结构和Linux驱动开发的相关资源。
摘要由CSDN通过智能技术生成

android如何编译出带符号表的.so库

关于这个问题,其实编译器带-g就会有调试信息。这是gcc相关的。
默认其实android编译的就是带符号表的,只是在strip掉了。

例如下面的操作:
/$ find . | grep libext2_e2p.so
./obj/SHARED_LIBRARIES/libext2_e2p_intermediates/LINKED/libext2_e2p.so
./obj/lib/libext2_e2p.so
./symbols/system/lib64/libext2_e2p.so
./symbols/system/lib/libext2_e2p.so
./obj_arm/SHARED_LIBRARIES/libext2_e2p_intermediates/LINKED/libext2_e2p.so
./obj_arm/lib/libext2_e2p.so
./system/lib64/libext2_e2p.so
./system/lib/libext2_e2p.so
/$ ls -l ./obj/SHARED_LIBRARIES/libext2_e2p_intermediates/LINKED/libext2_e2p.so
-rwxrwxr-x 1 neil neil 109808 12月 19 21:20 ./obj/SHARED_LIBRARIES/libext2_e2p_intermediates/LINKED/libext2_e2p.so
/$ ls -l ./obj/lib/libext2_e2p.so
-rwxrwxr-x 1 neil neil 31448 12月 19 21:25 ./obj/lib/libext2_e2p.so
/$ ls -l ./symbols/system/lib64/libext2_e2p.so
-rwxrwxr-x 1 neil neil 109808 12月 19 21:24 ./symbols/system/lib64/libext2_e2p.so
/$ ls -l ./symbols/system/lib/libext2_e2p.so
-rwxrwxr-x 1 neil neil 86172 12月 19 21:20 ./symbols/system/lib/libext2_e2p.so
/$ ls -l ./system/lib64/libext2_e2p.so
-rwxrwxr-x 1 neil neil 31448 12月 19 21:27 ./system/lib64/libext2_e2p.so
/$ ls -l ./system/lib

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值