简单说明VS2003 UNICODE字符的使用方法
创始人
2024-06-13 05:30:46
0

以下就是我总结的简单的实例. 此时VS2003 UNICODE字符用的参数类型为wchar_t* 类型, MFC应用程序调用此VS2003 UNICODE字符后编译同过, 但不能连接.所以要相上用上面提到的解决方案了。

在此简单说明一下设置使用VS2003 UNICODE字符集的方法:

选择项目属性的"C/C++"=>"预处理器"右边的"预处理器定义"中添加_UNICODE;UNICODE;如果是MFC项目,在项目属性的"连接器"=>"高级"中的"入口点"处加上wWinMainCRTStartup

以上操作后项目就使用UNICODE字符集.此时TCHAR不是原来的char类型,而是wchar_t类型,LPCTSTR也是wchar_t*类型了.(更多有关UNICODE编程问题可以查看http://www.vckbase.com/document/viewdoc/?id=642)

回到原文.在MSDN中的LNK2019错误信息的说明后,发现MFC项目默认设置了/Zc:wchar_t编译选项.但Console项目中默认是不设置此项的.解决方案:在项目属性"C/C++"=>"语言"中的"将wchar_t视为内置类型"上选择"否".之后编译连接OK.

在此给出实例代码:

  1. DLL中的导出函数声名     
  2. int __declspec(dllexport) FindFile( LPCTSTR lpFileName );     
  3. 在MFC项目中要用到以上DLL中声名的函数.(MFC项目已设置为UNICODE)     
  4. FindFile( _T( "FileName" ) );    

工作需要做了一个使用UNICODE字符集的DLL库.应用程序用MFC库,也使用了UNICODE字符集.但在编译连接的时候总是发生LNK2019的错误.但在Console项目中是没有此错误的.重新检查了所有项目的属性,是否正确设置为使用UNICODE字符集#t#

有四种VS2003 UNICODE字符标准化表单。最重要的是标准化表单 C,因为它是用于万维网的字符模型的最常用表单。Macromedia 提供其他三种 Unicode 标准化表单作为补充。
在 Unicode 中,有些字符看上去很相似,但可用不同的方法存储在文档中。

例如,“”(e 变音符)可表示为单个字符“e 变音符”,或两个字符“正常拉丁语 e”+“组合变音符”。Unicode 组合字符是与前一个字符结合使用的字符,因此变音符会显示在“拉丁语 e”的上方。这两种形式都显示为相同的印刷样式,但保存在文件中的每种形式是不同的。

标准化是指确保可用不同形式保存的所有字符都使用相同的形式进行保存的过程。即,文档中所有“”字符都保存为单个“e 变音符”或“e”+“组合变音符”,而不是在一个文档中保存为这两种形式。

我特意注意了下,相同代码内容的两个文档,使用了BOM的文档字节比未使用的文档字节多3个字节。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...