您的位置:首页 > 数据库 > MySQL

影响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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: