cl编译和debug编译有什么不同?

come_on_baby 2004-10-29 10:36:30
同一个cpp文件,
一种是在命令行提示符下编译:cl *.cpp
另一种是新建工程,按F5编译,然后到debug文件夹下运行该exe文件

但是两次的运行结果不一,其中后一种错了,为什么呢?
...全文
200 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dong 2004-10-31
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
int main()
{
int i=0;
cout<<++i<<' '<<++i<<' '<<++i<<endl;
return 0;
}
上面这一程序简单吧??可是他在release,Debug两种情况下可以得到不同的结果!为什么,因为运行初始化处理的不同,Debug有初始化处理。而release没有,它把任务交给了程序员了。而且两种方式缓冲情况是不同的,所以导致了不同的输出,我想你也是这一类的问题。

不过不要怪编译器,因为本来程序就是错误的。{cout<<++i<<' '<<++i<<' '<<++i<<endl;}这一句在一个结点上一个变量被处理多次,结果是未定义的,要看具体编译器的具体情况而定!不要写这样的代码!小心被抄鱿鱼
stung 2004-10-29
  • 打赏
  • 举报
回复
你能否在详细些,应该问题不具体可能的原因就很多,我认为不是编译器选项的问题
xuzheng318 2004-10-29
  • 打赏
  • 举报
回复
问题解决了, 接点分!
come_on_baby 2004-10-29
  • 打赏
  • 举报
回复
楼上的,那为什么会导致程序运行结果不一呢?
sharkhuang 2004-10-29
  • 打赏
  • 举报
回复
一个直接cmd命令。
一个是程序执行cmd命令
grooving 2004-10-29
  • 打赏
  • 举报
回复
cl *.cpp
默认应为release的。
come_on_baby 2004-10-29
  • 打赏
  • 举报
回复
谢谢你 DiabloWalkOnTheEarth(毁灭小符 (Annihilus)(99)(3502))
我 都是用默认的
  • 打赏
  • 举报
回复
你编译选项一样吗?

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧