level 11
大白独白◆
楼主
区别1:字符串的表达 void CMy123Dlg::OnBnClickedButton1() { // MessageBox("你好");//以前VC6.0写法,现在用不了.老版本用的多字节字符集 // MessageBox(L"你好");//L 是 unicode字符集,可移植性不好 // MessageBox(_T("你好"));//这3种方法一样 // MessageBox(TEXT("你好")); // MessageBox(_TEXT("你好")); } 在VS2010中用哪个比较好?_T(),至于说明介绍之类的资料,在网上有很多,所以没有复制过来 区别2:网络编程的移植性: 区别还是有一丁点.就是字符上面.只要用_T(x)即可 首先不得不说明:现在相当大的程序,都是使用多字节,并不是一步就能改成兼容的Unicode库.在代码中是要花费大量精力去修改,本来一个小小的程序,说不定修改就占了一半的时间与精力.(会修改还好,不会修改,那真的是...)举一个函数strcpy_s,在2者版本中兼容性就有问题.具体在MSDN中查询strcpy_s 所以,以后的程序中以大众为版本,使用多字节版--------->以后不做提示.默认为多字节版,另外写的程序默认为静态链接库(考虑到程序移植问题) 区别3:在类视图中,VS2010删除一个函数不是右键-->删除就能删除的,而是在类向导中--->删除 区别4:自定义函数格式发生了变化,如Vc6.0自定义的PostMessage就与VS2010格式不一样,VS2010采用的指针格式-------->详见本博客<<调试与解决困难之宝---PostMessage(WM_AD,0,0);注:分VC6.0版本与... >> 区别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); } 区别7: 区别8:因为目前不使用VC++6.0了,所以不能发现更多的区别了 ----------------------------------- ----------------------------------- ------------------------------注意点:只在VS2010出现过的问题.没有在VC6.0上测试------------------------------ 注意点1:>LINK : fatal error LNK1104: 无法打开文件“fdsfhhhhh.def” VS2010中为什么我把这个文件明明删除了,怎么编译的时候总是找上次那个删除的文件?
2012年11月10日 14点11分
1