曲径通幽论坛

标题: UNREFERENCED_PARAMETER 宏 [打印本页]

作者: beyes    时间: 2012-1-21 14:28
标题: UNREFERENCED_PARAMETER 宏
UNREFERENCED_PARAMETER 定义在 winNt.h 中:
#define UNREFERENCED_PARAMETER(P)          (P)
实际上,它并没有做其他什么事情,只是想简单的告诉一下编译器,不要过于吹毛求疵的发出警告。

比如在 Visual studio 2008 中新建一个默认的 Win32 项目,在程序里自动生成代码里会看到:
[C++] 纯文本查看 复制代码
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
...

在整个程序中,我们并没有使用到 hPrevInstance 和 lpCmdLine 。可以先屏蔽这两条语句,然后在 VS 里调整编译级别为 4 ,调整方法如下:
在“项目”里选择“工程属性”,在“配置选项”的“C/C++"的”常规“里,在右边的对话框中可调整”警告等级“。

在编译一次,在编译日志文件中可以看到下面的警告信息:
:\documents\visual studio 2008\projects\win32main\win32main\win32main.cpp(22) : warning C4100: “lpCmdLine”: 未引用的形参
d:\documents\visual studio 2008\projects\win32main\win32main\win32main.cpp(21) : warning C4100: “hPrevInstance”: 未引用的形参

如果再次打开两条语句,那么这两条警告信息就不会再出现。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2