【发布时间】:2016-07-31 14:49:13
【问题描述】:
在为 nasm 编写一些简单的库时,我注意到未实际调用或引用的标签仍包含在二进制文件中。
在使用 nasm 构建/编译/组装时,有什么方法可以避免在对象中包含未使用的标签及其对应的代码?
【问题讨论】:
-
使用
.label制作本地标签。 YASM 默认不在输出的符号表中包含非全局标签。 (如果您使用-gdwarf2发出调试信息,它确实包括它们。)我不确定您是否可以使用 NASM 来禁止常规符号进入符号表,而不是strip。 -
@PeterCordes 不仅仅是符号,还包括符号指向的代码。我想我可能不得不求助于一些骇人听闻的宏来让它做到这一点,但我宁愿不这样做。