❶ C语言文件的编译与执行的四个阶段并分别描述
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(1)C单元测试的源文件直接参与编译扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。
2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“a.out”,即最终的可执行文件。
4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。
❷ 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。
答案是错误的,系统将生成目标文件,选B。因为C语言中编译程序是把一个源程序翻译成目标程序的工作过程。这一过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。在语法分析过程中发现有语法错误,给出提示信息,没有错误则生成目标文件。
C语言通过汇编把汇编语言代码翻译成目标机器指令。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。
C语言的源文件成为目标文件的过程:
1、源文件经过预处理,生成.i的文件 (预处理器cpp)。
2、将预处理后的文件转换成汇编语言,生成文件.s文件。
3、从汇编变为目标代码(机器代码)生成.o(.obj)的文件(汇编器as)。
4、连接目标代码,生成可执行程序(连接器ld)。
❸ 我是学习C语言的新手,编译出现源文件后怎样让它运行。
首先,我觉得你可能概念不是很清楚,C语言的源文件的产生是不需要经过“编译”的,而应该是通过编辑器“编辑”产生的,C语言源文经(.c)过编译以后就会生成可执行文件(在Windows平台下生成的可执行文件是*.exe)。如果你想学习C语言的话,不知道怎样对原文件进行编译,可以安装一个Visual C++ 6.0的编辑器,在VC6.0里写完程序后,直接点里面的编译按钮进行编译就行,很简单的。
❹ 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将
本题正确答案应为B选项。
C选项为错误答案。
原因如下:
1、编译程序仅仅是将源语言编写的源程序转换为目标程序。
2、编译是把高级语言变成计算机可以识别的2进制语言。
3、编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。
显然,编译的过程中并没有运行程序输出结果的步骤,编译的结果是生成目标文件(代码)。
因此C选项为错误答案,B选项为正确答案。
编译原理图如下:
目标代码(目标文件)生成是编译的最后一个阶段。目标代码生成器把语法分析后或优化后的中间代码变换成目标代码。目标代码有三种形式:
1、 可以立即执行的机器语言代码,所有地址都重定位;
2、待装配的机器语言模块,当需要执行时,由连接装入程序把它们和某些运行程序连接起来,转换成能执行的机器语言代码;
3、汇编语言代码,须经过汇编程序汇编后,成为可执行的机器语言代码。
目标代码生成阶段应考虑直接影响到目标代码速度的三个问题:一是如何生成较短的目标代码;二是如何充分利用计算机中的寄存器,减少目标代码访问存储单元的次数;三是如何充分利用计算机指令系统的特点,以提高目标代码的质量。
编译_网络
❺ C/C++源文件直接交叉编译生成.so文件供安卓应用程序调用,可以吗
Jni调用就行了,是要按规则写接口api,如果接口很多,也没法,那是你的业务问题,要重新设计业务逻辑。我们之前用的c++单独交叉编译一个进程,和安卓界面用tcp通信,如果接口多也以为着协议多,一样的。
❻ C源程序经编译形成的二进制代码可以直接运行吗
不可以直接运行,源程序是程序员写给人看的,电脑执行的都是.EXE程序或者是二进制可执行代码,所以得将源程序进行编译连接然后才能生成可执行的程序也就是二进制的代码。
源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。
在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。
计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
(6)C单元测试的源文件直接参与编译扩展阅读:
如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。
对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,好的书写习惯将决定源代码的好坏。源代码是否具有可读性,成为好坏的重要标准。软件文档则是表明可读性的关键。
对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分不会在生成的程序中直接显示,也不参与编译。
但是注释代码对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。
网络-源代码 (一系列人类可读的计算机语言指令)
❼ c ++里面有多个源文件怎么编译
1。点击“文件”菜单按钮,选择“新建”;
2。在“工程”选项中选择“Win32 Console Application”,然后输入工程名称;
3。不急着按确定,选旁边的“文件”的选项卡,然后选“C++Source File”,输入文件名(以.c结束例如: sort.c)按确定;
4。在后缀为.c的文本编辑框内输入源代码;
5。在文本编辑框右上有一些六个小图标,compile(鼠标久放这些图标上都会出现这些图标的名字),build,go等,从最左边一个图标(compile)按起,弹出对话框都按确定,一个图标OK就按下一个,最后一个是go吧,不是很记得了,可是ok都会出现DOS的对话框。
ok就这样了~多的我也不会~有些是分头文件(Header File)和源文件(Source File),那在第二步的时候就要注意是选“C++Source File”还是“C++Header File”了!
当然也可以直接选“C++Source File”或“C++Header File”了! 要注意CPP是C++文件的后辍 .C是C语言的后辍
❽ 后缀为.c的C语言源程序可以单独进行编译吗
1、可以进行编译。
2、C语言源程序后缀为.c ,在windows平台上,编译后的后缀为.obj,连接后的后缀为.exe。在Linux平台上,预处理后的文件扩展名一般为.i,C语言编译器编译后的文件扩展名一般为.S,是一个汇编代码文件,汇编器编译后的文件扩展一般为.o,链接器生成的可执行文件默认为.out。
❾ Visual Studio 2019怎么编译C语言源程序
1、首先,打开C语言编辑器工具,然后在该工具中编写程序的源代码,如下图所示,然后进入下一步。
❿ C语言源文件编译问题
标准库已经是编译好的程序了,一般是.obj文件组成,编译程序将库文件取出,然后连接好地址、分配内存,不会重新编译的,编译的是你写的源文件。
换句话说,像printf这样的函数已经编译好了等你调用,已经是机器码了。