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