【发布时间】:2013-03-02 19:28:21
【问题描述】:
我创建了一个单独的包含文件,用于我的汇编程序中的通用用途。 (如字符串操作/格式化输入/等) 当我包含这些文件时,我注意到所有函数都包含在目标二进制文件中。
有没有办法只包含使用过的函数(例如在 C/C++ 库文件中使用包含文件)?
我正在使用 MASM 并针对 x86。
【问题讨论】:
-
MASM 不支持函数级链接,因此据我所知没有简单的方法可以做到这一点。您可以添加一堆定义来确定要编译的代码部分,或者将通用代码拆分为多个汇编文件,然后再汇编成单独的目标文件。
-
在
Makefile中,您可以将每个输入文件复制到另一个名称,然后使用一些正则表达式过滤这些副本(读取直接从源使用的函数的数据,例如使用 awk 或Perl)基于您这次想要包含的功能,并包含这些正则表达式过滤的副本,而不是完整的原始副本。
标签: function assembly include x86 masm