‘壹’ C语言源程序的编译过程包括哪三个阶段
编译:将源程序转换为扩展名为.obj的二进制代码
连接:将obj文件进行连接,加入库函数等生成可执行文件
运行:执行可执行文件,有错返回修改,无错结束
‘贰’ c语言编程,编译过程求图
一 定义相关变量
1 定义字符串数组char str[100],接收主字符串的输入
2 定义字符串数组char subsrt[10];接收子字符串的输入
3 定义整型int str_len,记录主字符串长度
4 定义整型int subsrt_len = strlen(subsrt),记录子字符串长度
5 定义整型int i, j, k;作为比较位置的中间变量
6 定义整型int count = 0;记录包含子字符串个数
7 定义整型int num = 0;记录比较一次的相同字符个数
二 用for循环统计含子字符串个数
1 第一个for循环从主字符串的开始位置开始比较,条件是小于等于主字符串与子字符串子差
2 先记录主字符串比较到的位置,即k = i
3 设置比较一次的相同字符个数num = 0
4 第二个for循环从子字符串的开始位置开始比较,条件是小于子字符串子差
4.1 当主字符串的第k位置字符等于子字符串的第j位置字符时,相同字符个数num加1
4.2 否则退出第二个for循环
5 当记录比较一次的相同字符个数等于子字符串的长度时,子字符串个数count加1。同时主字符串的比较开始位置设置为i=k(i=k-1),i=k-1因为for循环先进行i++再做判断
三 主要代码
运行结果
‘叁’ C语言的编译过程
C编译的整个过程很复杂,大致可以分为以下四个阶段:
预处理阶段在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替换工作,输出是同源文件含义相同但内容不同的文件。
编译、优化阶段编译就是将第一阶段处理得到的文件通过词法语法分析等转换为汇编语言。优化包括对中间代码的优化,如删除公共表达式,循环优化等;和对目标代码的生成进行的优化,如如何充分利用机器的寄存器存放有关变量的值,以减少内存访问次数。
汇编阶段将汇编语言翻译成机器指令。
链接阶段链接阶段的主要工作是将有关的目标文件连接起来,即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的目标文件成为一个能够被操作系统装入执行的统一整体。
‘肆’ 用C语言编译程序
给出两种方法,一种用数组,一种用链表,均为小可所写。都做了详细注释,代码简练。
http://..com/question/77796518.html
‘伍’ C语言编译执行的全过程是怎样的
预处理阶断:这个就是那些#include啥的。
编译阶断:把C语言的代码转成汇编语言代码,比如 int a = 2; 它会生成mov a, 2;
汇编阶断:把汇编代码转换成机器码,比如把mov a , 2 ; 转成 cd07 (mov指令的机器码中的一种机器码)
链接阶断:制作成一个可执行文件,比如windows是PE的可执行文件,linux是elf的可执行文件,要制作成可以运行的程序。
‘陆’ C中 程序员能否看到预编译过程和编译过程
gcc -C -E input -I header-path -o output
-E:主要选项,gcc 使用该参数生成预编译文件;
-C:进行字符串替换时保留注释;
input:源文件—— xxx.c;
header-path:源文件包含的头文件的路径,特别指以双引号形式 (#include "header.h") 的包含;
-o:输出到文件;
output:存储输出的文件名。
‘柒’ c/c++程序编译过程的几个阶段,以及它们的作用
r如果不细分的话
那么就编译 和链接两个阶段。
编译 是从.c/.cpp生成.o文件 也就是以文件为单位 生成二进制数据
链接 是把.o .a 等 生成可执行文件
就是把所有的文件整合成一个文件用来运行。
‘捌’ 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语言程序需要经过的四个步骤:编辑、编译、连接、运行。
C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。
1、预处理:输入源程序并保存(.C文件)。
2、编译:将源程序翻译为目标文件(.OBJ文件)。
3、链接:将目标文件生成可执行文件( .EXE文件)。
4、运行:执行.EXE文件,得到运行结果。
(9)c编译过程扩展阅读:
C语言代码变为程序的几个阶段:
1、首先是源代码文件test.c和相关的头文件,如stdio.h等被预处理器cpp预处理成一个.i文件。经过预编译后的.i文件不包含任何宏定义,因为所有的宏已经被展开,并且包含的文件也已经被插入到.i文件中。
2、编译过程就是把预处理完的文件进行一系列的词法分析、语法分析、语义分析以及优化后产生相应的汇编代码文件,这个过程往往是我们所说的整个程序的构建的核心部分,也是最复杂的部分之一。
3、汇编器不直接输出可执行文件而是输出一个目标文件,汇编器可以调用ld产生一个能够运行的可执行程序。即需要将一大堆文件链接起来才可以得到“a.out”,即最终的可执行文件。
4、在链接过程中,对其他定义在目标文件中的函数调用的指令需要被重新调整,对实用其他定义在其他目标文件的变量来说,也存在同样问题。
参考资料来源:网络-c语言
‘拾’ C语言编译执行的全过程是怎样的
不明白楼主什么意思,就是先把你的代码转为汇编代码,然后转为二进制文件,读入内存执行。