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类型定义了强类型检查。
#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类型定义了强类型检查。
相关文章推荐
- 函数定义说明与函数类型
- 《启示录》阅读笔记(九)——产品人物角色+重新定义产品说明文档
- c#3.0 新语法 局部方法 Partial Methods 定义说明
- 通用用户权限管理系统组件V3.9功能改进说明 - 操作权限项定义简化
- C++中重定义、重载、重写的说明
- UIApplicationDelegate协议定义的方法说明
- Bufree中Bug严重等级及优先级定义说明
- SilverLight学习笔记--如何在xaml文件中操作用户在后台代码定义的类(1)--说明篇(原创)(转载本文请注明出处)
- 创蓝253云通讯 paas 短信发送接口和定义说明
- DELPHI转换函数的定义及说明
- C语言struct结构类型定义和结构变量说明
- Java接口里定义成员变量 说明
- 关于function类中定义变量this的简单说明
- Linux内核源码目录下的 Makefile 文件,“CROSS_COMPILE”定义的说明
- Ext.form.FormPanel定义的参数说明
- Python定义与调用函数、默认参数操作实例说明
- about face 2.0——第二版说明(定义交互设计)
- 请问哪个头文件包含了CString类的定义说明?
- uint_32定义的说明
- 并口定义及其编程基础之一:并口说明