我有一个c / c ++ .h文件(好的.h表示c)。
我有条件#ifdef块。在一种情况下,该块准备语句以输入到masm中。第二个代码块用于C / C ++构建。
我正在使用的cl命令如下。
cl /D=ASM_PREPROCESS /P /EP BootDefs.h /Fi:BootDefs.i
.h文件中的代码块如下:
#ifdef ASM_PREPROCESS
MASM statements here
#else
C/C++ statements here.
#endif
但是,当我运行cl命令时,我得到的只是.i文件中的空行。显然我做错了什么。我只是想知道是否有其他工程师看到了这个问题。我认为这与stdout有关,但对于我的一生,我看不到适用的正确标志。
我使用的工具集是Visual Studio 2019和最新的SDK。
答案 0 :(得分:0)
我已解决问题。
它与/ D = ASM_PREPROCESS有关。我认为这是一个错误,但是更改为/ DASMPREPROCESS可以解决此问题。
Do!