无法访问C中的#defined常量

fla*_*404 0 c c++ c-preprocessor

这是我正在使用的C程序,在头文件中我定义了一个偏移量:

#define LDR_DATA_PATHFILENAME_OFFSET    0x24    // MODULE_ITEM.PathFileName
Run Code Online (Sandbox Code Playgroud)

在程序的后面我使用它如下:

pImageName = (PUNICODE_STRING)( ((DWORD)(pUserModuleListPtr)) + 
(LDR_DATA_PATHFILENAME_OFFSET-dwOffset));
Run Code Online (Sandbox Code Playgroud)

检查LDR的值时,我得到一个CXX0017:错误:找不到符号"LDR_DATA_PATHFILENAME_OFFSET". 嗯,它的定义,它编译,但它无法访问价值!我究竟做错了什么?

Fab*_*der 7

我假设您正在调试您的应用程序,因为您说"检查":符号常量在编译时由其值替换.在运行时,您再也看不到它们了.

  • 虽然目前尚不清楚他在"检查"变量的位置,但显然是他粘贴的编译时错误. (2认同)