关闭

VCKBase_50_篇2:Unicode

标签: preprocessor编程vc++c++api工作
536人阅读 评论(0) 收藏 举报
分类:
读了韩耀旭的VC++的Unicode编程,试了下在VC2005中设置非Unicode环境编译程序,这

里简单记录一下。

        在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 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1340232次
    • 积分:20812
    • 等级:
    • 排名:第365名
    • 原创:810篇
    • 转载:12篇
    • 译文:1篇
    • 评论:227条
    最新评论
    ATL/WTL
    Big Deal
    Book