相关疑难解决方法(0)

查询gcc的-ffunction-section和-fdata-sections选项

以下在GCC页面中提到的功能部分和数据部分选项:

-ffunction-sections
-fdata-sections
Run Code Online (Sandbox Code Playgroud)

如果目标支持任意节,则将每个函数或数据项放入输出文件中的自己的部分.函数名称或数据项名称确定输出文件中节的名称.在链接器可以执行优化以改善指令空间中引用的位置的系统上使用这些选项.大多数使用ELF对象格式的系统和运行Solaris 2的SPARC处理器都具有这种优化的链接器.AIX可能会在将来进行这些优化.

只有在获得重大好处时才使用这些选项.指定这些选项时,汇编器和链接器将创建更大的对象和可执行文件,并且速度也会更慢.如果指定此选项,则无法在所有系统上使用gprof,如果同时指定了此选项和-g,则可能无法进行调试.

我的印象是这些选项有助于减少可执行文件的大小.为什么这个页面会说它会创建更大的可执行文件?我错过了什么吗?

c size optimization linker gcc

28
推荐指数
4
解决办法
3万
查看次数

标签 统计

c ×1

gcc ×1

linker ×1

optimization ×1

size ×1