c编译阶段
预处理阶段主要是处理宏指令,像什么#include指令、#define指令还有条件编译指令等。
编译阶段主要是检查C语言程序的语法错误,即编写的代码是否符合C语言规则,编译是以.c源文件为单位编译成.obj文件(或者是.o文件)。
链接阶段,就是把相关的.obj文件、所需的库文件等组合成一个可执行的文件。如果缺少相关所需文件,就会链接报错。
指针异常,数组下标越界这些错误属于语义错误,这个只能在执行的时候才能发现问题,这些也叫运行时错误。
‘贰’ c语言编译过程
改程序改对后运行结果是327893.2789e+006A,改完后的代码:
#include <iostream>
int main()
{
int a = 32789;
float p = 3.14;
char c = 'A';
p = a * 100;
std::cout<<a<<p<<c<<"\n";
return 0;
}
‘叁’ 编译阶段 (C语言)到底指的是什么阶段呀
编译和链接过程,把C语言源程序翻译为可以执行的exe文件(或者dll、com)。
编译则是把C语言程序翻译为机器指令,CPU可以执行指令,但无法执行C语言源程序,所以需要一个翻译,编译就是这个过程。
‘肆’ C语言文件的编译与执行的四个阶段并分别描述
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(4)c编译阶段扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。
2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“a.out”,即最终的可执行文件。
4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。
‘伍’ 关于C语言编译阶段的一些问题
呵呵,找一本好书吧。我不能完全给你写清楚,"sting.h"的拼写已经有人说了。
简单地说,要理解几种文件:
A:源文件:例如汇编(asm)、c语言、cpp
B:目标文件
C:库文件(lib)
D:可执行文件
A经过编译器得到B,若干个B可以经过库管理程序得到C,C也可以通过库管理程序得到B(提取)
若干个B通过链接器可以得到D,但是比如strcmp是出现在C中的,但实际上链接器会到C中提取出strcmp所在的B,然后将这个B放入到你的D中。整过过程是一个求闭包的过程,具体参见《Linker and Loader》。
最后说说.h,其实.h本身并不是必要的,但是它可以减少人们的错误,减少重复的代码。
比如printf,你完全可以不include<stdio.h>,你就自己写上一行:
int printf(...);
然后你后面就是直接使用就好了,但是这样会有很多缺陷,这些缺陷可能只有你深刻地理解C语言本身的缺陷后才能明白,不多说了。
‘陆’ C语言源程序的编译过程包括哪三个阶段
编译:将源程序转换为扩展名为.obj的二进制代码
连接:将obj文件进行连接,加入库函数等生成可执行文件
运行:执行可执行文件,有错返回修改,无错结束
‘柒’ 在C语言中,变量的初始化都是在编译阶段完成的.为什么错
char型相加,其实是将他的整形值相加,结果是一个整数,除非你(char)强转
在局部范围,局部变量是在栈中生存,而全局变量在静态存取,所以是不同的变量,怎么会相等
多看些基础书把,加油
‘捌’ c编译程序是什么
c编译程序是将c语言程序编译成目标代码程序的程序,即正确答案应该选择D。
1、c语言是目前世界上最流行、使用最广泛的面向过程的高级程序设计语言。 c语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用c语言明显优于其它高级语言,许多大型应用软件都是用c语言编写的。
2、编译就是利用编译程序从源语言编写的源程序产生目标程序的过程,其中的五个阶段分别是词法分析、语法分析、语义检查和中间代码生成、代码优化、目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
(8)c编译阶段扩展阅读
c编译程序的语言特点
对于c编译程序来说,其语言的特点如下:
1、c语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护,而且表现能力和处理能力极强。
2、c语言具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。
3、由于c语言实现了对硬件的编程操作,因此集高级语言和低级语言的功能于一体。它既可用于系统软件的开发,也适合于应用软件的开发。
4、此外,c语言还具有效率高、可移植性强等特点。因此它广泛地移植到了各类各型计算机上,从而形成了多种版本。