本文目录一览:
- 1、C语言是如何编译与组建的,跨平台性
- 2、关于C语言组建执行的问题
- 3、c语言中编译和组建有什么区别
- 4、关于 C语言中的“编译”和“组建”的问题。
- 5、C语言入门,请问VC6.0中“组建”中的1.编译“.c”与2.组建“.exe”有什么区别和关系。
C语言是如何编译与组建的,跨平台性
标准c和标准c++都是源代码级跨平台的,
也就是说你用标准c/c++写的代码在windows下编译后就可以windows下运行,
在unix/linux下编译后就可以在unix/linux下运行.
跨硬件平台是靠编译器的,比如要输出一个字符,c里用printf("c");
硬件平台a用中断a输出,
硬件b用中断b输出,
那么就得有两个不同的编译器,
它们都用不同的方法实现c的功能
关于C语言组建执行的问题
1、编译 Ctrl + F7,根据错误信息修改代码,无错、无警告后执行下一步
2、运行 Ctrl + F5
c语言中编译和组建有什么区别
编译是讲你的代码转换成系统能识别的语言,也就是汇编一下,执行就是执行的程序,输出要得到的东西
关于 C语言中的“编译”和“组建”的问题。
如果没有加stdlib.h,在编译阶段编译器认为system是没有声明过的表示符,但是这是一个函数,所以编译器默认这个函数是外来的(也就是说不是你自己写的),并且默认其返回值是int,把这些信息写到编译的目标代码里
给你一个警告是因为未声明的函数既有可能是你忘记声明外部的函数,也可能是你自己笔误,不论哪种情况都不是什么好事
而在连接阶段,连接器会在连接的标准库里找到system这个函数,所以连接的时候没有任何问题
再给你一个例子,可以避免以后不必要的错误
#includestdio.h
#includemath.h
int main()
{
printf("%f\n", sqrt(2.0));
return 0;
}
比如你漏了第二行的math.h,那么编译器在sqrt(2.0)的地方也会给警告,连接的时候看上去也没问题,但是这时候你有可能得不到想要的结果(取决于编译器是否能猜出sqrt是标准函数),因为sqrt本应该返回double,编译器却默认其返回int
C语言入门,请问VC6.0中“组建”中的1.编译“.c”与2.组建“.exe”有什么区别和关系。
.c是c语言源文件,要经过编译后才能生成可执行文件,根据你选择的编译工具不同,生成的可执行文件也不同。.exe是window下的可执行文件格式。你的.c源文件可以使用GCC编译,也可以在windows下生成.exe文件。组建,先Compile生成.obj再Link生成.exe。
总的来说.exe就是你的.c编译后生成的可执行文件。
原创,望采纳。