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

编译出来的结果

发布时间: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代表编译失败,然后把这些报错信息都打印出来就好了。

下面看一下例子:

阅读全文

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

热点内容
程序中什么命令用来输入单字符 浏览:59
php是否有数据 浏览:141
虚拟云服务器是什么意思 浏览:279
vb是编译性语言吗 浏览:209
json格式用什么编译器 浏览:319
word转pdf代码 浏览:802
单片机中如何编程 浏览:739
cad常见的快捷命令 浏览:625
服务器端有什么 浏览:325
文件夹正在使用如何重命名 浏览:378
单片机触摸 浏览:875
qq收藏夹在手机哪个文件夹 浏览:755
为什么app的密码总是不正确 浏览:324
方舟手机版为什么进不了服务器 浏览:594
服务器ip可以查到真实地址吗 浏览:656
象棋软件算法 浏览:993
飘零加密 浏览:175
文件加密软件哪个好用免费保险柜 浏览:752
黑石物理服务器是云服务器吗 浏览:621
java读文件一行 浏览:793