我的目标是从可执行文件中删除尽可能多的死代码以减少代码大小。我在Stack Overflow上关注了一些其他问题的一些技巧,并在我的makefile中使用了-fdata-sections -ffunction-sections... + ...--gc-sections
。但是我有一个问题。
我首先使用.o
作为标志编译我的所有-fdata-sections -ffunction-sections
。然后我将这些存档到一个静态库(lib.a
)。然后我构建链接此lib.a
并使用此链接器中的--gc-sections
标志的可执行文件。然而,这似乎没有做任何改进。这是因为我先归档吗?归档是否会消除拆分的影响? (另外,我使用的任何形式的“条带”似乎都不会影响可执行文件!)