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

编译出来的结果

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

下面看一下例子:

阅读全文

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

热点内容
喷油螺杆制冷压缩机 浏览:569
python员工信息登记表 浏览:369
高中美术pdf 浏览:153
java实现排列 浏览:505
javavector的用法 浏览:974
osi实现加密的三层 浏览:225
大众宝来原厂中控如何安装app 浏览:906
linux内核根文件系统 浏览:235
3d的命令面板不见了 浏览:520
武汉理工大学服务器ip地址 浏览:141
亚马逊云服务器登录 浏览:517
安卓手机如何进行文件处理 浏览:65
mysql执行系统命令 浏览:923
php支持curlhttps 浏览:136
新预算法责任 浏览:437
服务器如何处理5万人同时在线 浏览:244
哈夫曼编码数据压缩 浏览:418
锁定服务器是什么意思 浏览:378
场景检测算法 浏览:611
解压手机软件触屏 浏览:342