1 判断Linux库文件编译时是否运用-g选项的方法-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

判断Linux库文件编译时是否运用-g选项的方法

如意 来源:CSDN 作者:CaspianSea 2020-06-22 08:40 次阅读

先写一个简单的文件1.c:

判断Linux库文件编译时是否运用-g选项的方法

然后编译两个库,一个不加 -g, 一个加:

gcc 1.c -c

gdb -shared -fpic -o lib1.so 1.o

cp 1.c 2.c

gcc -c -g 2.c

gcc -shared -fpic -o lib2.so 2.o

下面介绍几种判断的方法:

1. 使用 objdump

判断Linux库文件编译时是否运用-g选项的方法

可以看出,对于使用 -g的库, objdump --debugging会有很多 debug相关的信息输出。对于 没有加-g的库,则没有这样的输出。

也可用 readelf -w 或者 objdump -W

2.使用 gdb.

判断Linux库文件编译时是否运用-g选项的方法

注意有输出: Reading symbols from lib2.so.。.done.

对于 lib1.so,输出为 Reading symbols from lib1.so.。.(no debugging symbols found)。..done.

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11291

    浏览量

    209307
  • 虚拟机
    +关注

    关注

    1

    文章

    914

    浏览量

    28158
收藏 人收藏

    评论

    相关推荐

    Linux编程】如何使用gcc编译源代码时输出map文件

    Linux编程】如何使用gcc编译源代码时输出map文件
    的头像 发表于 08-15 14:08 8203次阅读
    【<b class='flag-5'>Linux</b>编程】如何使用gcc<b class='flag-5'>编译</b>源代码时输出map<b class='flag-5'>文件</b>?

    Linux系统下查看elf文件方法

    作为一个嵌入式开发人员,交叉编译是必须进行的步骤。那么,如何判断编译生成的文件(动态,静态
    的头像 发表于 08-25 16:17 3009次阅读
    <b class='flag-5'>Linux</b>系统下查看elf<b class='flag-5'>文件</b>的<b class='flag-5'>方法</b>

    Xilinx文件编译

    Library下拉表中选择simprims_ver仿真,在查找范围选项中选中“Xilnx\ise\verilog\src\simprims”目录下的全部文件,单击Compile按钮进行编译
    发表于 02-27 15:16

    请问怎么判断Keil编译时用到的基础名字?

    怎么判断Keil编译时用到的基础名字,在Linker选项里好像没有体现的。include是-I中有,而的路径怎么
    发表于 10-19 08:42

    gcc和Linux gcc 的常用选项

    gcc的使用方法gcc 【选项文件名gcc常用选项gcc-v: 查看gcc编译器的版本,显示gcc执行时的详细过程-oplease the
    发表于 10-19 22:43

    常见gcc编译警告整理以及解决方法

     GCC有很多的编译选项,警告选项;指定头文件路径;优化选项。本文针整理一下GCC的警告
    发表于 11-14 11:19 2.1w次阅读

    嵌入式Linux工具之GCC常用编译选项

    “-I dir”选项可以在头文件的搜索路径列表中添加 dir 目录。由于 Linux 中头文件都默认放到了“/usr/include/”目录下,因此,当用户希望添加放置在其他位置的头
    的头像 发表于 03-22 11:16 7707次阅读
    嵌入式<b class='flag-5'>Linux</b>工具之GCC常用<b class='flag-5'>编译</b><b class='flag-5'>选项</b>

    Linux程序的编写、编译、调试方法及make

    只要知道其中的几个就够了. -o选项我们已经知道 了,表示我们要求输出的可执行文件名. -c选项表示我们只要求编译器输出目标代码,而 不必要输出可执行
    的头像 发表于 07-16 17:02 5702次阅读
    <b class='flag-5'>Linux</b>程序的编写、<b class='flag-5'>编译</b>、调试<b class='flag-5'>方法</b>及make

    Linux中如何判断文件是否存在并新建文件

    本文档的主要内容详细介绍的是Linux中如何判断文件是否存在并新建文件夹vi文件免费下载。
    发表于 01-17 08:00 8次下载
    <b class='flag-5'>Linux</b>中如何<b class='flag-5'>判断</b><b class='flag-5'>文件</b>夹<b class='flag-5'>是否</b>存在并新建<b class='flag-5'>文件</b>夹

    gcc的使用方法以及Linux gcc 的常用选项

    gcc的使用方法 gcc 【选项文件名 gcc常用选项 gcc -v: 查看gcc编译器的版本,显示gcc执行时的详细过程 -ofile
    的头像 发表于 10-22 14:42 3099次阅读

    Linux编程】如何使用gcc生成预编译文件

    Linux编程】如何使用gcc生成预编译文件
    的头像 发表于 08-31 13:07 1945次阅读
    【<b class='flag-5'>Linux</b>编程】如何使用gcc生成预<b class='flag-5'>编译文件</b>?

    Linux中的静态和共享

    是一个二进制文件,包含的代码可被程序调用。例如标准C、数学、线程等等。有源码,可下载后
    的头像 发表于 05-10 09:34 1031次阅读

    Linux交叉编译选项与源码与目标文件分离

    交叉编译选项 编译Linux,通常只需要运行 make menuconfig 配置要编译的模块,然后运行 make 。
    的头像 发表于 09-27 11:48 832次阅读

    Linux内核编译脚本

    获得编译命令及选项 编译linux时,默认不会显示编译的命令,如果你要获得编译命令及其
    的头像 发表于 09-27 11:52 637次阅读

    linux驱动程序的编译方法有哪两种

    Collection)或其他C/C++编译器来编译源代码文件。这种方法较为原始,需要开发者手动指定编译
    的头像 发表于 08-30 14:39 639次阅读