影响MySQL性能的五大配置参数
2014-10-17 15:14
609 查看
第一类错误:很多时候在我们读一些英文编程资料的时候,经常会遇到写Windows主入口函数的问题,英文一般会这样写:
//This is winmain, the main entry point for Windows applications
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
不过照抄下来在VS2005或VS2008编译的时候总有错误:
error C2731: “WinMain”: 无法重载函数.
其实这是因为WinMain函数原始定义中lpCmdLine的类型是char *,但在中文系统环境下因为启用了Unicode支持,LPTSTR代表的是WCHAR *。
所以上述函数我们就应该这样来写:
//This is winmain, the main entry point for Windows applications
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
自然就不会有问题了。
第二类错误:
error C2440: “=”: 无法从“const char [11]”转换为“LPCWSTR”
error C2664: “CreateWindowExW”: 不能将参数 2 从“const char [11]”转换为“LPCWSTR”
代码在VC6中没问题. 因为它的代码没有按可编译为UNICODE版本的方式写,而VS2005默认是UNICODE编码的。所以所有使用到字串的地方都会出错。
方法1:修改VS2005的设置:选择你的项目-》属性-》常规-》设置为不使用UNICODE,发现设置为多字节字符集也可以。发现用VS2005打开VC6的源代码,转换后是使用的多字节字符集。
方法2:修改代码。字串前加TEXT宏。如
hwnd=CreateWindow(TEXT( "Weixin2003 "),TEXT( "北京维新科学技术培训中心"),WS_OVERLAPPEDWINDOW, 0,0,600,400,NULL,NULL,hInstance,NULL);
WinMain改为_tWinMain等。
char 统统换成TCHAR;字符串换成 _T("字符串");不论是否是UNICODE编码都应该如此。因为编译的时候,会根据是否定义了UNICODE来选择编译WCHAR还是char。
方法3:把所有的字符串用宏_T处理,这样: "my first window" 换成 _T("my first window") 。包含头文件 #include <tchar.h> 。
ps:对初学者,可以不使用UNICODE,但以后还是要学会编写UNICODE编码的程序。本文出自 “心海新航” 博客,请务必保留此出处http://sincerecorner.blog.51cto.com/3492017/672703
//This is winmain, the main entry point for Windows applications
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
不过照抄下来在VS2005或VS2008编译的时候总有错误:
error C2731: “WinMain”: 无法重载函数.
其实这是因为WinMain函数原始定义中lpCmdLine的类型是char *,但在中文系统环境下因为启用了Unicode支持,LPTSTR代表的是WCHAR *。
所以上述函数我们就应该这样来写:
//This is winmain, the main entry point for Windows applications
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
自然就不会有问题了。
第二类错误:
error C2440: “=”: 无法从“const char [11]”转换为“LPCWSTR”
error C2664: “CreateWindowExW”: 不能将参数 2 从“const char [11]”转换为“LPCWSTR”
代码在VC6中没问题. 因为它的代码没有按可编译为UNICODE版本的方式写,而VS2005默认是UNICODE编码的。所以所有使用到字串的地方都会出错。
方法1:修改VS2005的设置:选择你的项目-》属性-》常规-》设置为不使用UNICODE,发现设置为多字节字符集也可以。发现用VS2005打开VC6的源代码,转换后是使用的多字节字符集。
方法2:修改代码。字串前加TEXT宏。如
hwnd=CreateWindow(TEXT( "Weixin2003 "),TEXT( "北京维新科学技术培训中心"),WS_OVERLAPPEDWINDOW, 0,0,600,400,NULL,NULL,hInstance,NULL);
WinMain改为_tWinMain等。
char 统统换成TCHAR;字符串换成 _T("字符串");不论是否是UNICODE编码都应该如此。因为编译的时候,会根据是否定义了UNICODE来选择编译WCHAR还是char。
方法3:把所有的字符串用宏_T处理,这样: "my first window" 换成 _T("my first window") 。包含头文件 #include <tchar.h> 。
ps:对初学者,可以不使用UNICODE,但以后还是要学会编写UNICODE编码的程序。本文出自 “心海新航” 博客,请务必保留此出处http://sincerecorner.blog.51cto.com/3492017/672703
相关文章推荐
- 对MySQL性能影响关系紧密的五大配置参数
- 影响MySQL性能的五大配置参数
- 影响MySQL性能的五大配置参数
- 影响MySQL性能的五大配置参数
- 影响MySQL性能的五大配置参数
- 对MySQL性能影响关系紧密的五大配置参数
- 对MySQL性能影响关系紧密的五大配置参数
- 影响MySQL性能的五大配置参数
- 对MySQL性能影响关系紧密的五大配置参数
- 影响MySQL性能的五大配置参数
- 影响MySQL性能的五大配置参数
- 影响MySQL性能的五大配置参数
- 对MySQL性能影响关系紧密的五大配置参数
- 对MySQL性能影响关系紧密的五大配置参数
- 影响MySQL性能的 5大配置参数
- mysql 影响性能的配置参数
- 影响MySql性能的配置参数
- 影响MySQL性能的 5大配置参数
- MySQL性能的五大配置参数(内存参数)
- 五个影响mysql性能的关键配置