OpenGL编程——NeHe教程在VS2012下需要修改的地方
来源:互联网 发布:江山国色txt下载知轩 编辑:程序博客网 时间:2024/05/30 04:19
一、 “释放DC或RC失败”等等字符串都出现了编译不通过的情况,简而言之,就是你直接copy到你的工程中,发现底下出现了红色的波浪线。
NeHe的教程应该用的是VS6.0甚至是更早版本编写的,问题就出在VS2012工程默认的字符集是Unicode,而VC6.0包括以前的版本默认是多字节字符集。具体可见“项目”——“属性”——“配置属性”——“常规”——“字符集”——“使用Unicode字符集”
解决的方法就是
Unicode字符集你要加_T("")或L"",你也可以把上图中的使用“Unicode字符集”变成“使用多字节字符集”,这样波浪线就没有了,编译也不会报错了
参考http://blog.csdn.net/harryching/article/details/8791790
1. UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是
两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的
用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。
2. MBCS,它是多字节字符集,它是不定长表示世界文字的编码。MBCS表示英文字母时就和ASCII一样(这也是我们
容易把MBCS和ASCII搞混的原因),但表示其他文字时就需要用多字节。
WINDOWS下面的程序设计可以支持MBCS和UNICODE两种编码的字符串,具体用那种就看你定义了MBCS宏还是
UNICODE宏。MBCS宏对应的字符串指针是char*也就是LPSTR,UNICODE对应的指针是unsigned short*也就是
LPWSTR,为了写程序方便微软定义了类型LPTSTR,在MBCS下他就是char*, 在UNICODE下它是unsigned
char*,这样你就可以重定义一个宏进行不同字符集的转换了。
再给一个地址说明为什么要用unicode字符集http://blog.csdn.net/clever101/article/details/5377724
- OpenGL编程——NeHe教程在VS2012下需要修改的地方
- Nehe opengl编程一(Qt4修改版)
- 需要修改的地方
- nehe的opengl教程 opengl窗口章 移植到vs2013 win7环境下
- Jeff Molofee(NeHe)的OpenGL教程
- NeHe的OpenGL教程 lesson1-5 学习心得
- NeHe的OpenGL教程 lesson6-8 学习心得
- 翻写Nehe的OpenGL教程
- Jeff Molofee(NeHe)的OpenGL教程 OpenGL教程之着色
- NeHe OpenGL教程中文版
- ogre1.7.x教程中需要修改的地方。
- ogre1.7.x教程中需要修改的地方。
- Qt下使用OpenGL(1)-根据NeHe的教程改写的
- Qt下使用OpenGL(2)-根据NeHe的教程改写的
- Qt下使用OpenGL(3)-根据NeHe的教程改写的
- Qt下使用OpenGL(5)-根据NeHe的教程改写的
- Qt下使用OpenGL(4)-根据NeHe的教程改写的
- Qt下使用OpenGL(6)-根据NeHe的教程改写的
- 安卓编程发送给指定号码指定的短息内容
- 数组做数据成员
- nyoj-122
- 输出工资2
- msvcr90.dll!_invalid_parameter_noinfo() Line 125 + 0xc bytes 的排错
- OpenGL编程——NeHe教程在VS2012下需要修改的地方
- 在Linux下安装和使用MySQL
- A/B Problem && 开方数(nyoj 803 && 773)
- 面向对象(11)(static静态详解)②(以及制作文档和对象运行流程1)
- HDU 2896 病毒传播 AC 自动机 蛮裸的。。
- DOS环境
- 组合索引
- 利用jquery给指定的table动态添加一行、删除一行
- 输出骰子点数