• 微软原版系统

  • 一键重装系统

  • 纯净系统

  • 在线技术客服

魔法猪系统重装大师 一键在线制作启动 U 盘 PE 系统 用一键重装的魔法拯救失去灵魂的系统
当前位置:首页 > 教程 > 电脑教程

在VS2008中调试BUG

时间:2015年04月02日 15:39:20    来源:魔法猪系统重装大师官网    人气:10362
 杯具......


一共有三个文件

AAA.h

#ifndef AAA
#define AAA
#include
using namespace std;
class Base
{ public: int m_Value;
public: Base( int v = 11 );};
#endif

AAA.cpp

#include "AAA.h"
Base::Base( int v )
{ m_Value = v;}

main.cpp

#include "AAA.h"
int main( )
{ Base* base = new Base;
printf( "%d\n", base->m_Value );
int a; cin>>a; return 0;
}


/////////////////////////////////////////////////////////////////////////////////////////////////////////
以下编译均为Debug模式!

第一次编译:正常
显示结果为:11

修改头文件 AAA.h 把 Base( int v = 11 ); 改为 Base( int v = 22 );


第二次编译:不正常


显示结果为:11

查看文件“生成”截图:


显然,在Debug模式下,main.cpp被跳过了。
在main.cpp文件内我们定义的类对象,因为没有被重新编译,所以该对象仍然持有的是上一次成功编译前的值。显示结果为 11 也不足为怪了。

/////////////////////////////////////////////////////////////////////////////////////////////////////////
以下为Release模式!
第三次编译:等待生成Release版本的执行文件。
显示结果和预期的一样,值为 22

修改头文件 AAA.h 把 Base( int v = 22 ); 改为 Base( int v = 33 );
第四次编译:正常
显示结果为:33

查看文件“生成”截图:



显示,Release的编译模式和Debug完全不同,无论文件有没有改动,在Release模式下,所有文件都会被重新编译一次。

/////////////////////////////////////////////////////////////////////////////////////////////////////////
测试环境:
vs2008
Windows7 32bit
在,VS2008,中,调试,BUG,杯具,......,一,
栏目:电脑教程 阅读:1000 2023/12/27
Win7教程 更多>>
U盘教程 更多>>
Win10教程 更多>>
魔法猪学院 更多>>

Copyright © 2015-2023 魔法猪 魔法猪系统重装大师

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件。

在线客服 查看微信 返回顶部