code-size相关内容

MAP 文件分析 - 我的代码大小从何而来?

我正在寻找一种工具来简化对大型 C++ 项目 (VC6) 的链接器映射文件的分析. 在维护期间,二进制文件稳定增长,我想弄清楚它的来源.我怀疑在不同 DLL 之间共享的库中存在一些过度热心的模板扩展,但是浏览地图文件并没有提供很好的线索. 有什么建议吗? 解决方案 这个是一个很棒的编译器生成的地图文件分析/资源管理器/查看器工具.检查是否可以浏览 gcc 生成的地图文件. ..
发布时间:2022-01-11 15:52:40 C/C++开发

编译> 2 GB的代码时如何修复GCC编译错误?

我有大量函数,总共大约 2.8 GB 的目标代码(不幸的是,没有办法绕过,科学计算......) 当我尝试链接它们时,我得到(预期)relocation truncated to fit: R_X86_64_32S 错误,我希望通过指定编译器标志来规避 -mcmodel=medium.除了我可以控制的所有链接的库都使用 -fpic 标志编译. 但错误仍然存​​在,我假设我链接到的某些库 ..
发布时间:2021-12-31 22:52:00 C/C++开发

“代码太大"Java中的编译错误

Java 中的代码有任何最大大小吗?我写了一个超过 10,000 行的函数.实际上,每一行都为一个数组变量赋值. arts_bag[10792]="newyorkartworld";Arts_bag[10793]="leningradschool";Arts_bag[10794]="mailart";Arts_bag[10795]="artspan";Arts_bag[10796]="水彩";A ..
发布时间:2021-11-25 13:39:37 Java开发

“代码太大"Java中的编译错误

Java 中的代码有任何最大大小吗?我写了一个超过 10,000 行的函数.实际上,每一行都为一个数组变量赋值. arts_bag[10792]="newyorkartworld";Arts_bag[10793]="leningradschool";Arts_bag[10794]="mailart";Arts_bag[10795]="artspan";Arts_bag[10796]="水彩";A ..
发布时间:2021-11-18 01:06:41 Java开发

如何判断 x86 指令的长度?

我正在查看汇编中的不同指令,但我对如何决定不同操作数和操作码的长度感到困惑. 这是您应该从经验中知道的,还是有办法找出哪个操作数/运算符组合占用了多少字节? 例如: push %ebp ;占用一个字节mov %esp, %ebp ;占用两个字节 所以问题是: 看到给定的指令后,我如何推断其操作码需要多少字节? 解决方案 没有数据库的 x86 没有硬性规定,因为指令编码 ..
发布时间:2021-09-29 19:29:15 其他开发

如何测量代码大小?

在讨论某些功能或优化时,通常会提到代码大小. 虽然我当然理解基本概念,也就是说,编译为机器码的代码集合将产生 X 字节的机器码(加上静态数据),但我最近意识到我非常不确定如何实际上测量给定二进制文件的代码大小. 那么,您如何衡量代码大小? 您是否只检查生成的二进制文件(“可执行文件",.exe)有多大?您是否需要诸如 dumpbin.exe 之类的工具或某些特定的链接器标志来获取 ..
发布时间:2021-09-18 19:13:07 C/C++开发

是否有方法/函数可以获取使用 GCC 编译器编译的 C 程序的代码大小?(应用某些优化技术时可能会有所不同)

我能否借助 fseek() 函数测量代码大小并将其存储到 shell 变量中? 是否可以使用 milepost gcc 或 GNU Profiler 工具 提取代码大小、编译时间和执行时间?如果是,如何将它们存储到 shell 变量中? 由于我的目标是在编译时间、执行时间和代码大小的基础上找到最佳优化技术,因此我期待一些可以返回这些参数的函数. MyPgm=/root/Project/P ..
发布时间:2021-06-15 19:57:55 其他开发

编译大于2 GB的代码时,如何解决GCC编译错误?

我有大量的功能,总共约2.8 GB的目标代码(不幸的是,科学计算无法实现...) 当我尝试链接它们时,我得到(预期的)重定位被截断以适应:R_X86_64_32S 错误,我希望通过指定编译器标志 -mcmodel = medium .除了我可以控制的以外,所有链接的库都使用 -fpic 标志进行编译. 仍然,错误仍然存​​在,并且我假定链接到的某些库未使用PIC编译. 这是错误: ..
发布时间:2021-05-09 20:54:53 C/C++开发

指令长度

我在看汇编中的不同指令,对如何确定不同操作数和操作码的长度感到困惑. 是您应该从经验中学到的东西,还是有办法找出哪种操作数/运算符组合占用了多少字节? 例如: push %ebp ; takes up one byte mov %esp, %ebp ; takes up two bytes 所以问题是: 看到给定的指令后,如何推断其操作码需要多少字节? 解决方案 ..
发布时间:2020-09-12 21:41:53 其他开发

MAP文件分析-我的代码大小从哪里来?

我正在寻找一种工具来简化对大型C ++项目(VC6)的链接器映射文件的分析. 在维护期间,二进制文件稳定增长,我想弄清楚二进制文件的来源.我怀疑在不同DLL之间共享的库中有一些过分热衷的模板扩展,但是jsut browsign映射文件并不能提供很好的线索. 有什么建议吗? 解决方案 这是出色的编译器生成的地图文件分析/浏览器/查看器工具.检查是否可以浏览gcc生成的地图文件. ..
发布时间:2020-05-01 03:27:21 C/C++开发

如何减少iPhone应用程序的代码大小?

我的iPhone应用程序已准备好投入生产,我们希望尽可能多地填充数据。当我为我的应用程序生成.app文件时,我看到一个名为的文件。我假设是编译的代码。它大概是2.5兆,对于我在我的应用程序中包含的内容来说似乎很大。我应该检查什么类型的东西以确保我的可执行文件中没有包含任何不需要的项目? 解决方案 你可以做的很多事情 - 2.5 MB是一个小应用程序。 ..
发布时间:2018-11-01 12:49:51 移动开发

在C / C ++应用程序中分析过多代码大小的一些技术或工具是什么?

我有一个C ++库,可以生成更大的代码,我真正期望它能做什么。从少于50K行的源代码中,我得到几乎4MB的共享对象和9个静态存档。这是有问题的,因为库的二进制文件非常大,而且更糟糕的是,甚至连接它的简单应用程序通常也会增加500到1000 KB代码大小。用像-Os这样的标志编译这个库会有所帮助,但并不是非常有用。 我也尝试过使用GCC的-frepo命令(尽管所有文档都是'我们已经看到,在Li ..
发布时间:2018-04-20 17:10:44 服务器开发

获取C ++函数的大小

我在阅读这个问题,因为我在一个C ++程序中试图找到一个函数的大小,它暗示可能有一种平台特定的方式。我的目标平台是windows 我现在的方法如下: 1.获取一个指向函数的指针 2.增加指针(&计数器),直到我达到 ret 的机器代码值3.计数器将是函数的大小? Edit1:为了澄清'size'的含义,我的意思是组成函数的字节数(机器码)。 Edit2:有几个意 ..
发布时间:2016-10-14 10:55:57 C/C++开发