里简单记录一下。
在VC6下面,默认的编译环境是Ansi,不是Unicode。VC6下面也支持Unicode编程,毕竟系
统API函数都是以T类型作为参数和返回值的。具体的VC6下面如何使用Unicode编程,按照原作者
方式试试。
在这里,我要说的是在VS2005编译环境下使用非Unicode方式编写和编译程序。VS2005默认
使用的是Unicode字符集,如果想不使用Unicode字符集而是用Ansi字符集,需要修改两个地方。
(1)相应编译宏的设定。如果使用Unicode字符集,需要定义预编译宏UNICODE和
_UNICODE两个;而使用ANSI字符集,不需要这个。具体修改方式为:ALT+F7打开工程选项,选择
C++栏目,再选择里头的PreProcessor栏目,在里头的PreProcessor defines中去掉默认的
Unicode和_UNICODE的定义。注意,在此栏目中我们并没有看到对应的两个定义,这个是通过继承
而来了,只要我们不要勾那个"inherit from parent..."即可。注意,设置完毕之后,另外需要手动将
_AFXDLL宏定义加入到预处理宏定义中;别忘了加上宏_MBCS。
(2)到此工作完成一半,此时编译提示link出错,找不到入口函数(实际上入口函数不对)。这
里需要修改入口函数(其实这个是受原作者启发的)。修改方式:ALT+F7打开工程选项,选择
Link栏目,然后选择Advanced,第一个属性就是Entry Point,修改为WinMainCRTStartup即
可。好像Unicode版本是wWinMainCRTStartup