开发一个c语言程序要经过哪四个步骤
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。
C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。
1、预处理:输入源程序并保存(C文件)。
2、编译:将源程序翻译为目标文件(OBJ文件)。
3、链接:将目标文件生成可执行文件(EXE文件)。
4、运行:执行EXE文件,得到运行结果。
扩展资料:
C语言代码变为程序的几个阶段:
1、首先是源代码文件testc和相关的头文件,如stdioh等被预处理器cpp预处理成一个i文件。经过预编译后的i文件不包含任何宏定义,因为所有的宏已经被展开,并且包含的文件也已经被插入到i文件中。
2、编译过程就是把预处理完的文件进行一系列的词法分析、语法分析、语义分析以及优化后产生相应的汇编代码文件,这个过程往往是我们所说的整个程序的构建的核心部分,也是最复杂的部分之一。
3、汇编器不直接输出可执行文件而是输出一个目标文件,汇编器可以调用ld产生一个能够运行的可执行程序。即需要将一大堆文件链接起来才可以得到“aout”,即最终的可执行文件。
4、在链接过程中,对其他定义在目标文件中的函数调用的指令需要被重新调整,对实用其他定义在其他目标文件的变量来说,也存在同样问题。
参考资料来源:百度百科-c语言
c语言中的编辑,编译,连接,运行分别是什么意思
编辑就是对代码的编写,按照c语言规则,编写完成一定功能的代码。
编译就是对代码进行编译,让代码从高级语言编译成可以让电脑识别运算的机器码。
连接就是对代码各个函数等进行,连接
运行就是运行所编辑代码组成的程序。
编辑,编译和运行C程序需要什么条件
c程序的编辑,编译,链接和运行
编辑
对于C语言来说,任何文本编辑器都是可以的;windows自带的notepad,linux常用VIM都可以
编译,链接
虽然这是两个步骤,但通常是同一套tool,例如开源的gcc系列,微软的visual C++都有自己的编译链接工具。
运行
一旦编译链接完成通常就可以在目标机器上运行了;如果使用了动态库,还需要运行环境里有对应的库文件才行。
c语言编辑编译链接运行,c语言如何编译运行
C语言编辑编译连接的作用是什么
C语言编辑的作用是检查语法,制作C语言的源文件和头文件,生成汇编代码。
C语言编辑的作用是将汇编代码转换机器码。在这一步中,会对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。
C语言链接的作用是将机器码链接到一起生成可执行程序。这一步会对文件之间的关联做检查,如果出错,将不会生成可执行程序,也就无法执行。
扩展资料:
C语言链接时,将源文件中用到的库函数与汇编生成的目标文件o合并生成可执行文件。该可执行文件会变大很多,一般是调用自己电脑上的静态库。
静态库和应用程序编译在一起,在任何情况下都能运行,而动态库是动态链接,文件生效时才会调用。很多代码编译通过,链接失败就极有可能在静态库和动态库这出现了纰漏,要视情况解决。缺少相关所需文件,就会链接报错。这个时候就要检查下本地的链接库是不是缺损。
C语言文件的编译与执行的四个阶段并分别描述
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
扩展资料:
将C语言代码分为程序的几个阶段:
1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。
2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“aout”,即最终的可执行文件。
4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。
参考资料来源:百度百科-c语言
作为一种编程语言,本身是谈不上工作原理的,实际上C语言所有的语法,正是C语言编译器的工作原理或者工作机制的具体实现。要细致的讨论起来是不可能,但是作为C语言程序员,必须了解这个大致的流程。一个程序,从C语言源码,到系统可执行的文件,一般经历四个过程。
1、预处理阶断,这个阶断是文本处理阶断,有预处理器来完成,会将源码中的带"#"开头的预处理命令进行相应的处理,在Linux上C语言的预处理器程序是cp命令。
2、编译阶断,这个阶断是有C语言编译阶断,在Linux上C语言的编译器是cc命令,它将C语言源码转换成汇编指令。
3、汇编阶断,这个阶断是汇编编译阶断,在Linux上C语言的汇编器是as命令,这个阶断会将汇编指令编译成二进制机器码。
4、链接阶断,这个阶断是会将汇编阶断生成的机器码目标文件,装载成一个系统可执行的文件,在Linux平台以ELF格式进行组装,在Windows平台上以PE格式进行组装。在Linux平台上的链接器命令为ld,在windows平台上的链接器命令为linker。
以上就是关于C语言执行过程生成的三种文件和扩展名全部的内容,包括:C语言执行过程生成的三种文件和扩展名、一个c语言程序由什么构成、想了解C语言,求指导等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)