小编Foa*_*aly的帖子

从二进制文件中删除未使用的函数

我正在为嵌入式 ARM 微控制器编译代码,并且正在尝试优化二进制大小。我正在使用arm-none-eabi-g++选项-Os -ffunction-sections -fdata-sections -Wl,--gc-sections来实现这一点。看起来这删除了一些(但不是全部)未使用的功能,尤其是一些繁重的功能。

arm-none-eabi-nm --print-size --size-sort --radix=d 给我 :

[...]
00008412 00000084 T _raise_r
00004888 00000088 t restore_non_core_regs
00000172 00000092 t _ZN5USART5writeENS_4PortEc.constprop.22
00005276 00000094 T __gnu_Unwind_RaiseException
00001644 00000094 t _ZN4GPIO16enablePeripheralERKNS_3PinE
536871016 00000096 d impure_data
00004592 00000096 t search_EIT_table
00000624 00000100 t _ZN5Flash9writePageEiPh
00005648 00000112 T __gnu_Unwind_Backtrace
536874336 00000128 b _ZN3USB8_bankEP0E
00000264 00000128 t _ZN5USART9availableENS_4PortE.constprop.20
00002500 00000140 t _Z17usbControlHandlerRN3USB11SetupPacketEPhRi
00004728 00000160 t get_eit_entry
00000464 00000160 t _ZN3USB15ep0SETUPHandlerEv
00005060 00000212 t unwind_phase2_forced
536871424 00000256 b …
Run Code Online (Sandbox Code Playgroud)

c++ arm

6
推荐指数
1
解决办法
641
查看次数

标签 统计

arm ×1

c++ ×1