Windows 2000是使用U n i c o d e从头进行开发的
2012-06-27 18:29
190 查看
2.3 Windows 2000与U n i c o d e
Windows 2000是使用U n i c o d e从头进行开发的,用于创建窗口、显示文本、进行字符串操
作等的所有核心函数都需要U n i c o d e字符串。如果调用任何一个Wi n d o w s函数并给它传递一个
A N S I字符串,那么系统首先要将字符串转换成U n i c o d e,然后将U n i c o d e字符串传递给操作系
统。如果希望函数返回A N S I字符串,系统就会首先将U n i c o d e字符串转换成A N S I字符串,然
后将结果返回给你的应用程序。所有这些转换操作都是在你看不见的情况下发生的。当然,进
行这些字符串的转换需要占用系统的时间和内存。
例如,如果调用C r e a t e Wi n d o w E x函数,并传递类名字和窗口标题文本的非U n i c o d e字符串,
那么C r e a t e Wi n d o w E x必须分配内存块(在你的进程的默认堆中),将非U n i c o d e字符串转换成
U n i c o d e字符串,并将结果存储在分配到的内存块中,然后调用U n i c o d e版本的C r e a t e Wi n d o w E x
函数。
对于用字符串填入缓存的函数来说,系统必须首先将U n i c o d e字符串转换成非U n i c o d e字符
串,然后你的应用程序才能处理该字符串。由于系统必须执行所有这些转换操作,因此你的应
用程序需要更多的内存,并且运行的速度比较慢。通过从头开始用U n i c o d e来开发应用程序,
就能够使你的应用程序更加有效地运行。
Windows 2000是使用U n i c o d e从头进行开发的,用于创建窗口、显示文本、进行字符串操
作等的所有核心函数都需要U n i c o d e字符串。如果调用任何一个Wi n d o w s函数并给它传递一个
A N S I字符串,那么系统首先要将字符串转换成U n i c o d e,然后将U n i c o d e字符串传递给操作系
统。如果希望函数返回A N S I字符串,系统就会首先将U n i c o d e字符串转换成A N S I字符串,然
后将结果返回给你的应用程序。所有这些转换操作都是在你看不见的情况下发生的。当然,进
行这些字符串的转换需要占用系统的时间和内存。
例如,如果调用C r e a t e Wi n d o w E x函数,并传递类名字和窗口标题文本的非U n i c o d e字符串,
那么C r e a t e Wi n d o w E x必须分配内存块(在你的进程的默认堆中),将非U n i c o d e字符串转换成
U n i c o d e字符串,并将结果存储在分配到的内存块中,然后调用U n i c o d e版本的C r e a t e Wi n d o w E x
函数。
对于用字符串填入缓存的函数来说,系统必须首先将U n i c o d e字符串转换成非U n i c o d e字符
串,然后你的应用程序才能处理该字符串。由于系统必须执行所有这些转换操作,因此你的应
用程序需要更多的内存,并且运行的速度比较慢。通过从头开始用U n i c o d e来开发应用程序,
就能够使你的应用程序更加有效地运行。
相关文章推荐
- Ruby on rails开发从头来(windows)(八)-使用Session创建购物车
- Ruby on rails开发从头来(windows)(五)-对输入进行验证
- 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证-2.2身份验证开发]
- Windows 下使用 MinGW 和 CMake 进行开发
- Ruby on rails开发从头来(windows)(八)-使用Session创建购物车(修正原版错误)
- Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)开发 之 Windows Embedded Source Tools for Bluetooth
- Windows下用Code::Blocks+MingGW进行OpenGL2.0开发(使用GLEW库)的准备工作
- 使用Eclipse RCP进行桌面程序开发(四):在Windows中使用Active X控件
- 无责任Windows Azure SDK .NET开发入门(二):使用Azure AD 进行身份验证
- Ruby on rails开发从头来(windows)(二十八)- 使用Rake运行测试
- windows(win7)虚拟机下使用usb转串口进行S3c2410开发,minicom和kermit
- windows下使用pycharm进行python3开发
- Ruby on rails开发从头来(windows)(一)-使用InstantRails快速搭建Ruby On Rails开发环境
- 【hadoop】Hadoop学习笔记(九):如何在windows上使用eclipse远程连接hadoop进行程序开发
- Windows环境下使用Guard整合Compass和Livereload进行SASS的开发
- Ruby on rails开发从头来(windows)(二十六)- 使用Mock对象
- windows上使用eclipse远程连接hadoop进行程序开发没有权限访问问题
- Windows上使用Eclipse远程连接Hadoop进行程序开发
- Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)开发 之 Windows Embedded Source Tools for Bluetooth
- Windows下Git使用记录--03 Git GUI与金山快盘组建私人代码仓库进行项目开发