VC++6.0与VS2010的区别

区别1:字符串的表达编程

void CMy123Dlg::OnBnClickedButton1()
{
// MessageBox("你好");//之前VC6.0写法,如今用不了.老版本用的多字节字符集网络

// MessageBox(L"你好");//L 是 unicode字符集,可移植性很差函数

// MessageBox(_T("你好"));//这3种方法同样
// MessageBox(TEXT("你好"));
// MessageBox(_TEXT("你好"));指针

}
在VS2010中用哪一个比较好?_T(),至于说明介绍之类的资料,在网上有不少,因此没有复制过来code

 

区别2:网络编程的移植性:unicode

区别仍是有一丁点.就是字符上面.只要用_T(x)便可字符串

首先不得不说明:如今至关大的程序,都是使用多字节,并非一步就能改为兼容的Unicode库.在代码中是要花费大量精力去修改,原本一个小小的 程序, 说不定修改就占了一半的时间与精力.(会修改还好,不会修改,那真的是...)举一个函数strcpy_s,在2者版本中兼容性就有问题.具体在MSDN 中查询strcpy_s编译器

因此,之后的程序中以大众为版本,使用多字节版--------->之后不作提示.默认为多字节版,另外写的程序默认为静态连接库(考虑到程序移植问题)网络编程

 

区别3:在类视图中,VS2010删除一个函数不是右键-->删除就能删除的,而是在类向导中--->删除编译

 

区别4:自定义函数格式发生了变化,如Vc6.0自定义的PostMessage就与VS2010格式不同,VS2010采用的指针格式

 

区别5:VS2010自带了winsock2库(第2版的库),每次都不用加Ws2_32.lib这个了(推荐加上)

举例:建立win32控制台应用程序(带MFC头文件),每次就不用加

 

区别6:同一条语句.在VS2010编译器中,C++不容许默认int类型存在.而在VC++6.0就能够存在.语句以下:

ShutDownProc(BYTE* DATE);//函数声明

CMyDlg::PutFileProc(BYTE *DATE)//函数使用 { SetDlgItemText(IDC_WORK_START,(char*)DATE); }

相关文章
相关标签/搜索