导航:首页 > 源码编译 > 编译出来的结果

编译出来的结果

发布时间:2023-04-03 03:44:51

① 怎样查看C/C++程序编译过后的结果

通常在项目下的obj文件夹里,二进制文件

② C语言同一段代码,同样的文件,编译器为什么运行结果不一样

有如下几种可能:
1 代码运行的平台硬件不同。
不同的CPU,如嵌入式CPU,intel CPU,以及IBM的CPU,在硬件最底层就是不同的,而C语言是一门和底层相关性极大的语言,在不同的硬件上运行出不同结果是很正常的。

2 代码运行的系统不同。
相同CPU在不同操作系统上跑相同代码时,一样会出现不同的结果。这是由于系统底层的实现不同造成的。比如Linux和Windows,在底层处理上就有一定的差异。

3 编译器不同,同时代码中使用了C规范未定义规则的语句。
C语言规范并没有对C语言的所有行为做定义,所以相同语句,不同编译器的运行效果可能有所不同。比如同样的sizeof(int),在16位编译器上结果为2,而32位编译器上就会是4。

4 代码获取到的外部数据不同。
比如运行代码时获取到的其它输入不同,包括程序中获取的环境变量,实时信息,以及各种外部输入等,均有可能出现不同。
比如在做随机数时,如果以当前时间设定随机数种子,由于每次的时间是不同的,同一个程序每次运行的结果都是不同的。

③ c++编译没问题,出来的结果怎么就是一个0,不是我想要的答案啊。。。。

for(int j=0;j!=3;j++);
{
scores[data[i][j]]+=j;
}

for(int n=0;n!=3;n++);后面多了个分号
for(int n=0;n!=3;n++)成了赋值语句,N=3
cout<<scores[n]<<endl;就只输出一个结果了
因为scores[3]={0,0,0};所以你前面的代码加来加去就是0
整段代码输出就只有个0喽

④ 一个程序通过了编译,并且得到了输出结果,这个结果是否一定正确为什么

不一定,好比如说你定义了一个有10个元素的数组,然后将另一个有11个元素的数组逐一赋值给它,程序中控制它正确赋值,最后输出第一个数组各元素的值,但是虽然通过了编译,也输出了结果,但是你还是没能把11个元素的都赋值过去,这就是达不到所想的赋值,当然是不正确的了。还有其他一些情况,当你的编程经历越多时就会碰到的了

⑤ 请教大家,这个编译出来,会是什么结果

应该是正常的编译,运行后就不是你预期的结果了,short应该是16位的,它所表示的最大的整数是:32767。初学先不必纠结这个。。。。我也是初学,呵呵。

⑥ 关于如何判断gcc之类的编译器的编译结果

我们再使用gcc编译的时候可以让他的输出信息保存到文件当中

gccmain.c-omain&>status.txt

上面的命令就是将gcc编译的信息保存到status.txt文件中,然后我们再程序中读取文件,看文件是否有内容,没有内容就说明没有报错和警告,编译成功。有内容就对每一行内容进行判断,看是warring还是error,只有warring也代表编译成功,有error代表编译失败,然后把这些报错信息都打印出来就好了。

下面看一下例子:

阅读全文

与编译出来的结果相关的资料

热点内容
增量方式编程 浏览:228
单片机反接为啥会烧坏 浏览:944
河北网络服务器云服务器 浏览:352
编程序员年薪百万 浏览:998
网通的宽带玩电信服务器地址 浏览:828
解压视频搞笑大全爆笑 浏览:614
米兔解压积木隐藏款金属 浏览:574
window命令行svn 浏览:616
8051单片机包含多大的ram 浏览:812
man文件linux 浏览:283
javaweb实现页面跳转 浏览:126
命令如什么 浏览:316
centos如何使用ftp服务器 浏览:982
直立车陀螺仪算法 浏览:70
coreldrawpdf下载 浏览:896
虚拟主机云服务器软件服务 浏览:373
苹果的怎么拉安卓的打游戏 浏览:415
游戏程序员负责角色 浏览:316
于丹pdf 浏览:718
反编译ref 浏览:551