在做项目的过程中,经常需要在一些工程的设置中添加_UNICODE和UNICODE,但都不是特别清楚这两个有什么区别。看了一些介绍,讲到Jeffrey Richter在《Windows核心编程》中说,_UNICODE宏用于C运行期头文件,而UNICODE宏则用于Windows头文件.然后看了AFXV_W32.H中的代码,得到以下内容:
#ifdef _UNICODE
#ifndef UNICODE
#define UNICODE // UNICODE is used by Windows headers
#endif
#endif
#ifdef UNICODE
#ifndef _UNICODE
#define _UNICODE // _UNICODE is used by C-runtime/MFC headers
#endif
#endif
从上面的定义可以看出,在常规的MFC编程中,_UNICODE和UNICODE只需在工程设置中加一个就可以。