strip libxxx.so

strip可以去除.symtab部分符号信息。

#define DLL_PUBLIC __attribute__ ((visibility ("default")))#导出testOne
DLL_PUBLIC int testOne()
{return ( 0 );
}#编译
gcc -shared -fvisibility=hidden -o libxxx.so xxx.c

gcc编译设置-fvisibility=hidden属性,则不加visibility声明的都默认为hidden(隐藏)。

减小动态库大小及隐藏符号相关推荐

  1. Linux下减小动态库大小的方法

    在一些业务场景下,需要对动态库的大小进行限制,主要有如下几种方法: 1. 编译选项使用-Os,表示以最小化大小为优化方向 2. 去除-g选项,进而去除调试信息 3. 通过strip裁剪符号及调试信息 ...

  2. linux下动态库符号表,Linux动态库(.so)符号表

    最近编译libbinder.so发现system/lib/libbinder.so只有358K,但单独编译生成的obj/SHARED_LIBRARIES/libbinder_intermediates ...

  3. Linux编译时如何减小so库文件的大小

    Linux编译时如何减小so库文件的大小 今天问了我这个问题,我就顺便记录一下.客户问为什么libc.so文件再编译前和编译后的size不一样啊,staging 和 compile 两个dir下的 l ...

  4. linux环境特性的文件夹,在Linux环境下如何消减可执行文件或者动态库的大小

    为了简化描述,下文提到目标时,如无特殊说明,均指代目标可执行文件或者目标动态库. 操作步骤如下: 选型时,在同等功能时,尽量选择代码量少.占用空间小的开源的软件. 控制C++特性的使用,如无必要,则不 ...

  5. 如何修改动态库符号表

    如何修改动态库符号表 一.ELF 文件和有关术语 Unix 系统的可执行文件和动态库文件是以 ELF 格式存放的.为使下面的叙述 清晰而没有伎义,先简要介绍一下 ELF 文件格式,并约定一些术语.关于 ...

  6. linux平台 使用dlopen接口调用HelloWorld动态库简单实例

    动态库(libxxx.so)一种调用方式是在编译的时候的时候指定库名 -lxxx,另一种调用方式是通过dlopen在程序里加载动态库,然后调用相关接口.相关接口比较简单,包括打开动态库,解析库里提供的 ...

  7. 计算机科学基础知识(四): 动态库和位置无关代码

    一.前言 本文主要描述了动态库以及和动态库有紧密联系的位置无关代码的相关资讯.首先介绍了动态库和位置无关代码的源由,了解这些背景知识有助于理解和学习动态库.随后,我们通过加-fPIC和不加这个编译选项 ...

  8. Linux动态库的导出控制

    在实际工作中,许多软件模块是以动态库的方式提供的.做为模块开发人员,我们不仅要掌握如何编写和构建动态库,还要了解如何控制动态库的导出接口,这样,我们可以向模块的用户仅导出必要的接口,而另一些内部接口, ...

  9. 编译的时候所使用的动态库中出现错误:未定义的引用

    1.使用makefile编译的时候,出现错误如下: 如上图所示,是在动态库libicdbapi.so中出现了未定义错误,既然是未定义错误,说明sqlprct.....sqlnult这5个符号是外部符号 ...

  10. 动态库装载及 dlsym的RTLD_NEXT参数详解

    在看公司spp框架代码的时候发现了如下一段宏定义,其中的dlsym函数及其RTLD_NEXT参数的含义不是很明白,于是网上搜了下这里做个记录. #define mt_hook_syscall(name ...

最新文章

  1. java changelistener_ListChangeListener.Change
  2. zabbix简介(第一章第一节)
  3. golang 中的sort 包
  4. 058_JavaScript函数arguments对象
  5. Computer:MediaPreview的简介、安装、使用方法之详细攻略
  6. Springboot整合xxl-job实现任务自定义定时任务
  7. poj 2623 快排
  8. 日期相减 python_如果将excel的数字转化为日期(高级教程)
  9. 棋盘切割 DP POJ 1191
  10. Linux 常用命令
  11. 谁说菜鸟不会数据分析--读书笔记
  12. 计算机编程结束进程代码,M代码如何停止CNC编程的程序
  13. 2008哲思自由软件峰会
  14. css定位能用android,绝对的CSS定位显示android html上的空白区域
  15. Codeforces Round #383 (Div. 1): D. Arpa’s letter-marked tree…(dsu on tree+状压)
  16. 09 spring-aop
  17. Linux 修改静态 IP
  18. linux重定向文件容加时间,[单选] linux系统,把当前日期重定向到/tmp/date文件中,并不想覆盖原来的内容,下面正确的操作是()。...
  19. 【MATLAB生信分析】MATLAB生物信息分析工具箱(一)
  20. 机器学习sklearn----通过轮廓系数确定适合的n_clusters

热门文章

  1. wifi信号满格无法连接服务器,wifi正常为什么不能上网_一招解决wifi信号满格不能上网的方法...
  2. Kinect图像成像原理
  3. Jenkins持续集成与部署
  4. 计算机usb口设置方法,如何在电脑上设定usb端口权限
  5. Oracle Database Link基础
  6. 大话西游2人气稳定服务器,大话西游2开服18年的老区还得排队,凌烟阁确实够火...
  7. 服务器pe安装win7系统安装教程,pe安装win7原版镜像系统教程
  8. 鲁宾逊《非标准分析》中译版正式上线
  9. 计算机里不显示硬盘图标,Win7不显示硬盘图标怎么办?不显示硬盘图标修复方法...
  10. Android 图文数据JSON解析,金山词霸每日一句API的调用