起草VS2003编译的一些好的方法和引用

开发 后端
工作之余进行了VS2003编译学习,首先碰到的就是环境的配置。以前学的Visual Studio2003,但并没有怎么用。看到那个开始界面就怕了,所以有一个星期的时间基本是在用实践着。

学习VS2003编译时,你可能会遇到种种问题,这里将介绍VS2003编译问题的解决方法,在这里拿出来和大家分享一下。很多用户都很了解VS2003了,但是对于VS2003编译还是很陌生,这里我发表一下个人理解,和大家讨论讨论。

STL的iterator不能初始化了,否则会报错。

◆std::vector::iterator it=0;

VS2003编译,但在2005下就报错:cannot convert from 'int' to 'std::_Vector_iterator

必须写成

◆std::vector::iterator it

这个问题应该在是由于类型检查更严格造成的。估计其他类似的使用方法也可能存在问题

一些字符串相关的操作会警告说是不推荐的方法。

例如,如果使用了strcpy函数的话,就会出如下警告warning C4996: 'strcpy' was declared deprecated这是应为微软发明了“安全的C++”概念,意思是说,strcpy是不推荐使用的函数。

在vs2005下,数据类型必须明确定义

const entrysize=0x10c;//在vs2003下是可以编译的但在vs2005下报错:error C4430: missing type specifier - int assumed. Note: C++ does not support default-int#t#

必须修改成:const int entrysize=0x10c;

for循环条件中定义的变量被归入for循环代码块了

  1. for(DWORD i=0;i<size;i++)  
  2. VS {  
  3. VS      buffer[i]=0;  
  4. VS      //some other codes  
  5. VS }  
  6. VS buffer[i]=100;//这里会报i没有定义的错误;  
  7. VS 在2005中,必须写成这样:  
  8. VS DWORD i=0 
  9. VS for(i=0;i<size;i++)  
  10. VS {  
  11. VS      //some codes  
  12. VS }  
  13. VS buffer[i]=100;  

某些MFC做了变化

Save(CFile file);以上代码在VS2003下可以使用VS2003编译,在VS2005中 编译报错:error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'

责任编辑:chenqingxiang 来源: 小金的专栏
相关推荐

2009-11-30 13:51:28

VS2003 Acti

2009-12-01 10:18:12

VS2003makef

2009-12-01 09:06:36

VS2003 ajax

2009-11-30 13:51:28

VS2003 Runt

2009-11-30 09:39:46

VS2003版本

2009-12-01 16:16:13

安装VS2003

2009-11-26 13:40:53

2009-12-01 11:21:25

VS2003 报表

2009-11-27 09:34:38

VS2003命令

2009-11-30 13:40:43

VS 2003 Boo

2009-11-30 10:34:28

VS2003编译

2009-11-30 10:20:47

2009-12-16 10:15:58

VS2003编译

2009-12-01 09:30:45

2009-11-26 15:50:06

VS2003编译器

2009-11-27 08:59:29

VS2003配置文件

2009-11-30 13:51:28

ActiveX控件

2009-11-30 11:25:24

VS2003 UNIC

2009-12-01 16:32:20

VS2003安装步骤

2009-11-30 13:51:28

点赞
收藏

51CTO技术栈公众号