【发布时间】:2012-06-01 14:15:11
【问题描述】:
DDK 的构建环境是否将预处理器定义传递给代码以指定 x86/ia64/x64 以便代码与#ifdef 等一起使用?
【问题讨论】:
标签: preprocessor cpu-architecture wdk
DDK 的构建环境是否将预处理器定义传递给代码以指定 x86/ia64/x64 以便代码与#ifdef 等一起使用?
【问题讨论】:
标签: preprocessor cpu-architecture wdk
据我所见并非如此。
但是,在设置您的 makefile 时,请创建 i385、amd64 和 ia64 目录并将您单独的代码文件存储在这些目录中。
然后,在您的源文件中,分别使用I386_SOURCES=、AMD64_SOURCES= 和IA64_SOURCES= 变量来指定源文件。
这适用于 .asm 文件,应该也适用于所有其他 .c 文件。
【讨论】:
是的。看Predefined Macros在DDK包含文件中也可以看到很多这样的语句:
#if defined(_M_MRX000) || defined(_M_ALPHA) || defined(_M_PPC) || defined(_M_IA64) || defined(_M_AMD64)
#define UNALIGNED __unaligned
#if defined(_WIN64)
#define UNALIGNED64 __unaligned
#else
#define UNALIGNED64
#endif
#else
#define UNALIGNED
#define UNALIGNED64
#endif
【讨论】: