您的位置:首页 > 编程语言 > C语言/C++

VC++ 工程添加 Unicode Debug 和 Unicode Release编译支持

2016-12-31 18:55 281 查看
原文地址:学习unicode

前言

昨天为了编译一个网上下载程序,下载vs2008,转换工程并加入自己的部分程序,最后还是运行不了。郁闷之余,查看错误,发现原来自己的代码有问题。比如vs2008不再支持之类的。还有就是我的代码没有“国际化”意识(从不考虑Unicode)。所以下定决心学一下unicode,结果还是令自己满意的。以下分享一些心得(哈哈,大部分网上找的),望对你有用。

 

推荐2个实用的小工具,为字符串添加_T()宏

http://hi.baidu.com/qiujiejia/blog/item/46057f2bacf7abeae7cd407b.html

http://hi.baidu.com/qiujiejia/blog/item/4af2261bbeba5deaaf5133bf.html

 

1.让工程支持unicode编译

 

*

这里先解释一下使用unicode的原因:如果要让你的软件支持多国语言,也就是国际化吧,比如东亚语系cjk(中日韩),由于这些国家语言的每个字符都是以宽字符(wide character即两个字节)表示的,而unicode字符集(unicode character set)是一个宽字符集,所以自然的使用unicode就顺理成章了。

下面就说一下如何在vc6中进行unicode编译

*

写的一段代码涉及到MBCS编码和UNICODE编码的相互转换,查了一下MSDN的相关资料,在VC6中,默认使用MBCS编码,即多字节字符,实际就是支持大于0x80的ASCII码。这样,一个中文字可以表示为2个字节,GB2312就是这样表示的。 

VC6的默认安装是不带UNICODE库的,要在VC6中写UNICODE程序,必须安装CRT和MFC的Unicode库。

要使你的程序支持Unicode,要在你的项目属性中去掉"_MBCS"宏定义,增加"UNICODE"和"_UNICODE"两个宏定义。(注意,这两个都应该加上,因为CRT和MFC使用UNICODE 定义,而STL则使用_UNICODE)

如果你的程序是MFC的,则Unicode版MFC库的入口点是 wWinMainCRTStartup。

很好的文章,大家可以看看, Win32字符编码http://noshape.bokee.com/4749054.html

*

 

为 vc 工程添加 Unicode Debug 和 Unicode Release

通过使用unicode编译,软件可以适应多种情况,如何在自己的工程中添加这两种编译方式呢?下面是一个简单的步骤

1、新建一个工程;

2、选择“Build->Configurations”菜单

3、(1)点击“Add”按钮,添加“Unicode Debug”-拷贝“win32 Debug”配置

  (2)添加“Unicode Release”-拷贝“win32 Release”配置 ,然后点击“OK”

4、选择“Project->Setting”菜单 

(1)选 Win32 Unicode Debug :

切换到“c/C++ ” Tab页 从下拉列表框中选择 “Preprocessor” ,去掉_MBCS,添加UNICODE,_UNICODE(注意逗号隔开) ,如果是MFC程序,还要在

link中,Category选output,将Entry-Point Symbol设为wWinMainCRTStartup

(2)选 Win32 Unicode Release

切换到“c/C++ ”Tab页 从下拉列表框中选择 “Preprocessor” ,去掉_MBCS,添加UNICODE,_UNICODE(注意逗号隔开) ,如果是MFC程序,还要在

link中,Category选output,将Entry-Point Symbol设为wWinMainCRTStartup

原文地址:http://blog.sina.com.cn/s/blog_8a7012cf0101dy7w.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  VC++ unicode