--gc-sections
时间: 2023-09-17 08:09:05 浏览: 160
--gc-sections是gcc命令中的一个选项,用于在链接过程中进行死代码消除(dead code elimination)。这个选项会对未被引用的代码和数据进行垃圾回收,从而减小最终可执行文件的大小。
具体来说,当在编译C或Ada源文件时,使用了编译选项-ffunction-sections和-fdata-sections时,编译生成的目标文件会将每个函数或数据段放置在独立的section中。然后,在链接生成最终可执行文件时,如果使用了-Wl,--gc-sections参数,并且之前编译目标文件时也带有-ffunction-sections和-fdata-sections参数,那么链接器ld会去除未使用的函数和数据,从而减小可执行文件的大小。请注意,如果使用了-r的链接参数来产生重定位的输出,则需要显示地调用-e参数来指定程序入口,否则-Wl,--gc-sections选项将不会生效。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [gcc参数-Wl,–gc-sections,不链接未用函数,减小可执行文件大小](https://blog.csdn.net/whatday/article/details/104053124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文