nasm/yasm 和 C 的 Polygot 包含文件
Polygot include file for nasm/yasm and C
我有一堆幻数,我想将它们包含在 C 程序和汇编文件中,由 nasm 或 yasm 编译。
在纯 C 中,文件看起来像是一系列定义,例如:
#define BLESS 55378008
#define ANSWER 42
...
在 nasm 或 yasm 中,相同的包含可以实现为:
%define BLESS 55378008
%define ANSWER 42
...
唯一的区别是 define
之前的前导字符:C 的 #
和 nasm 的 %
。
有没有什么方法可以编写一个 polygot include,使我可以将它同时包含在 C 和 nasm 中,并且只列出常量一次?
是的,我知道我可以使用 sed
或其他任何方法从一个文件生成另一个文件。
NASM 本身无法在汇编代码中包含 C 头文件。这些年来一直是 brought up in the NASM forum。您将需要一个外部工具来将 C 头文件解析为可用于 NASM 汇编语法的内容。
假设与 NASM 兼容的第 3 方贡献是 h2incn
。我还没有对它进行足够彻底的测试,所以不能说它对所有用例都足够稳定或可用。
我有一堆幻数,我想将它们包含在 C 程序和汇编文件中,由 nasm 或 yasm 编译。
在纯 C 中,文件看起来像是一系列定义,例如:
#define BLESS 55378008
#define ANSWER 42
...
在 nasm 或 yasm 中,相同的包含可以实现为:
%define BLESS 55378008
%define ANSWER 42
...
唯一的区别是 define
之前的前导字符:C 的 #
和 nasm 的 %
。
有没有什么方法可以编写一个 polygot include,使我可以将它同时包含在 C 和 nasm 中,并且只列出常量一次?
是的,我知道我可以使用 sed
或其他任何方法从一个文件生成另一个文件。
NASM 本身无法在汇编代码中包含 C 头文件。这些年来一直是 brought up in the NASM forum。您将需要一个外部工具来将 C 头文件解析为可用于 NASM 汇编语法的内容。
假设与 NASM 兼容的第 3 方贡献是 h2incn
。我还没有对它进行足够彻底的测试,所以不能说它对所有用例都足够稳定或可用。