在C/C++应用程序中分析过多代码大小的一些技术或工具是什么?
发布时间:2020-05-23 14:03:17 所属栏目:Linux 来源:互联网
导读:我有一个C库,可以生成更大的代码,我真的期望它正在做什么.从不到50K的源代码行中,我获得了大约4 MB的共享对象和静态归档推送9.这是有问题的,因为库二进制文件非常大,更糟糕的是,甚至连接它的简单应用程序通常会获得500到1000 KB代码大小.使用像-Os这样的标志
|
我有一个C库,可以生成更大的代码,我真的期望它正在做什么.从不到50K的源代码行中,我获得了大约4 MB的共享对象和静态归档推送9.这是有问题的,因为库二进制文件非常大,更糟糕的是,甚至连接它的简单应用程序通常会获得500到1000 KB代码大小.使用像-Os这样的标志编译库有点帮助,但不是很多. 我还尝试了GCC的-frepo命令(尽管我见过的所有文档都表明Linux上的collect2将会合并重复的模板)和模板上的显式模板实例化似乎“可能”重复很多,但是没有两种情况都有实际效果.当然,我说“可能”,因为,与任何类型的剖析一样,这样的盲目猜测几乎总是错误的. 是否有一些工具可以轻松地分析代码大小,或者其他一些方法我可以找出占用这么多空间的东西,或者更一般地说,我应该尝试的其他任何东西?在Linux下工作的东西是理想的,但我会采取我能得到的东西. 最佳答案 如果您想了解可执行文件中的内容,请询问您的工具.打开ld链接器的–print-map(或-M)选项以生成一个映射文件,显示它放在内存中的位置和位置.为静态链接示例执行此操作可能会提供更多信息.如果您没有直接调用ld,而只是通过gcc命令行调用ld,则可以通过在-cl命令行前面将ld特定选项传递给ld. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux-networking – ISP的设备是否配置错误?在Internet接
- linux – ldapsearch密码文件格式
- linux – 如何为vhosts自动化zabbix Web场景?
- ssh – 无法在亚马逊ec2中输入低级电子邮件(亚马逊Linux)
- linux – LAMP,XAMPP用于制作
- linux – RNG比/ dev / random更快但加密有用吗?
- 如何找到使用linux swap或swap中的内容?
- Linux *上的Ctrl-Alt-Delete真的不危险吗?
- linux – Postfix Relay到Office365
- linux – 让cronjob等待以前的rsync作业完成
