第一个Win32应用程序
2016-05-18 08:56
309 查看
今天使用Visual Studio 2015,在教程的指导下开发了一个Win32窗口应用程序,在这个过程中遇到了两个问题:
一、无法查找或者打开pda文件
解决办法:(工具栏)调试->选项->常规->(勾选启用源服务器支持);调试->选项->符号->(勾选Microsoft符号服务器),完成!
二、不能将const char*类型的值分配到LPCWSTR类型的实体(wndClass.lpszClassName = "DX11BookWindowClass";)
解决办法:在字符串常量前面加上L(wndClass.lpszClassName = L"DX11BookWindowClass";),把字符串转换为宽字符集,相当于实现了强制类型转换。
拓展:
LPCWSTR是一个指向unicode编码字符串的32位指针,所指向字符串是wchar型,而不是char型。
MSDN原文:
因为在VS2005以后,编码方式默认为Unicode,部分函数在使用时默认调用Unicode方式(函数名+W,exp:MessageBox+W=MessageBoxW),而非ANSI方式(函数名+A,exp:MessageBox+A=MessageBoxA)。
一、无法查找或者打开pda文件
解决办法:(工具栏)调试->选项->常规->(勾选启用源服务器支持);调试->选项->符号->(勾选Microsoft符号服务器),完成!
二、不能将const char*类型的值分配到LPCWSTR类型的实体(wndClass.lpszClassName = "DX11BookWindowClass";)
解决办法:在字符串常量前面加上L(wndClass.lpszClassName = L"DX11BookWindowClass";),把字符串转换为宽字符集,相当于实现了强制类型转换。
拓展:
LPCWSTR是一个指向unicode编码字符串的32位指针,所指向字符串是wchar型,而不是char型。
MSDN原文:
An LPCWSTR is a 32-bit pointer to a constant string of 16-bit Unicode Charactor, which may be null-terminated. This type is declared as follows: typedef const wchar_t* LPCWSTR;
因为在VS2005以后,编码方式默认为Unicode,部分函数在使用时默认调用Unicode方式(函数名+W,exp:MessageBox+W=MessageBoxW),而非ANSI方式(函数名+A,exp:MessageBox+A=MessageBoxA)。
相关文章推荐
- 双击Eclipse,弹出一个错误窗口: java.lang.IllegalStateException:
- 区块链走进教育机构,开设课程并且运用于学位证书
- [Ruby] 网页添加文本编辑器 Kindeditor for Ruby on Rails
- C#Winform技术,利用DataGridViewRow向DataGridView中添加数据
- appwidget桌面小部件
- Android 获取屏幕尺寸与密度
- 网络安全小组听取IBM区块链技术讲解
- CI框架实现cookie登陆的方法详解
- 深入理解jquery跨域请求方法
- flask 与https
- 【opencv3.0】鱼眼图像畸变校正——标定校正
- VS2013中全局属性与局部属性的设置
- 循环日程赛的详细描述及代码
- 关于android中位运算的一些看法
- iOS中NSUserDefaults的用法(轻量级本地数据存储)
- android开发之各种字体控件颜色
- <Android学习笔记二>——Handler的实现
- 云计算之Docker
- 【干货】马哥linux运维学院公开课-今晚课程介绍:《应运而生的架构》
- Mac下安装Node.js