VC6.0中release编译C++程序的问题

VC6.0中release编译C++程序的问题,第1张

你在程序的最后加上一个输入语句,比如cin>>n。等待键盘输入,这样你的程序就不会一闪而逝了。

#include<iostream>

using namespace std

int main()

{int i,j,n,k

cout<<"please input an integer number:"

cin>>n

for(i=1i<=ni++)

{for(j=1n-i>=jj++)

cout<<" "

for(k=1k<=2*i-1k++)

cout<<"*"

cout<<endl}

cin>>n

return 0

}

把配置管理器选择为Release,然后选择菜单--生成--生成xxx(或者直接点击绿色小箭头运行下)就已经生成exe程序了,在bin/release文件夹下。让你选择release是把程序编译成发布版,vs会自动优化代码。如果是debug则不会。

照这些选项看看 Release 版错误是怎样产生的

1. Runtime Library:链接哪种运行时刻函数库通常只对程序的性能产生影响。调试版本的 Runtime Library 包含了调试信息,并采用了一些保护机制以帮助发现错误,因此性能不如发布版本。编译器提供的 Runtime Library 通常很稳定,不会造成 Release 版错误;倒是由于 Debug 的 Runtime Library 加强了对错误的检测,如堆内存分配,有时会出现 Debug 有错但 Release 正常的现象。应当指出的是,如果 Debug 有错,即使 Release 正常,程序肯定是有 Bug 的,只不过可能是 Release 版的某次运行没有表现出来而已。

2. 优化:这是造成错误的主要原因,因为关闭优化时源程序基本上是直接翻译的,而打开优化后编译器会作出一系列假设。这类错误主要有以下几种:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8099829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存