int
WINAPI
MessageBoxA(
__in_opt HWND hWnd,
__in_opt LPCSTR lpText,
__in_opt LPCSTR lpCaption,
__in UINT uType);我F12追踪到他们的定义,都是宏,看到最后,发现是#define __allowed(p) __$allowed_##p
这个有什么意义啊???
#define 中##的用法我知道,可是__$。这个是干嘛的啊!!?
不就是简单的参数吗?为什么需要这么复杂呢!!好稀奇古怪啊!!!
求高人解答
WINAPI
MessageBoxA(
__in_opt HWND hWnd,
__in_opt LPCSTR lpText,
__in_opt LPCSTR lpCaption,
__in UINT uType);我F12追踪到他们的定义,都是宏,看到最后,发现是#define __allowed(p) __$allowed_##p
这个有什么意义啊???
#define 中##的用法我知道,可是__$。这个是干嘛的啊!!?
不就是简单的参数吗?为什么需要这么复杂呢!!好稀奇古怪啊!!!
求高人解答
// The helper annotations are only understood by the compiler version used by various
// defect detection tools. When the regular compiler is running, they are defined into
// nothing, and do not affect the compiled code.
http://bbs.csdn.net/topics/360085670http://msdn.microsoft.com/en-us/library/aa383701%28v=vs.85%29.aspx
#define __$allowed_xxx$只是个符号,没有什么特别意思,没有规定宏的名字不可以有$