您的位置:首页 > 其它

stdafx 头中的STRICT定义说明

2014-10-20 22:05 113 查看
一般你可能在某些工程的stdafx头(多见于VS2010版本后ATL)中发现:

#define STRICT

也许你会忽略这个值,这个是什么意思呢?

其实就是让编译器执行严格的类型检查。

比如Windows.h里面会有一些类型的define是相同的,比如HDC和HWND,比如有这样一个函数:

int ReleaseDC(HWND hWnd, HDC hdc);

也许你会错误的使用为ReleaseDC(hdc,hWnd),但是因为默认情况下,HDC和HWND是define到相同的类型,则这样的代码会被编译通过。

如果你启用define STRICT,则HDC和HWND会被定义到不同的类型,这样在遇到上面的类型传入错误的时候,编译器就会报错,让你避免这样的错误。

简单来说,就是对Windows类型define类型定义了强类型检查。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: