c语言是怎样编译成可执行文件的?

c语言是怎样编译成可执行文件的?,第1张

c语言运行方式如下:

上机输入和编译程序。通过键盘向计算机输入程序,最后将此源程序文件形式存放在文件夹内,文件用.c作为后缀,生成源程序文件。对源程序进行编译,先用c编译系统提供的“预处理器”对程序中的预处理指令进行编译预处理。例如,对于#include指令来说,就是将stdio.h头文件的内容读进来,取代#include行。由预处理得到的信息与程序其他部分一起组成一个完整的、可以用来正式编译的源程序,然后由编译系统对该源程序进行编译。

编译的作用是对源程序进行检查,判定程序有无语法的错误。直到没有错误时,编译程序自动把源程序转换为二进制形式的目标程序进行连接处理。经过编译后所得到的二进制目标文件还不能供计算机直接执行。一个程序可能包含若干个源程序文件,而一次编译只能得到与一个源程序文件相对应的目标文件,

只是程序的一部分,必须把所有编译后得到的目标文件链接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序,即使一个程序只包含一个源文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要和函数库进行连接,才能生成可执行程序。运行可执行程序,得到运行结果。把f.exe输入计算机,并使之运行,得到结果。

解决方法如下:

*** 作设备:戴尔笔记本电脑

*** 作系统:win10

*** 作程序:DEV-C++ v2.01

1、首先我们打开DEV-C++,点击菜单栏中的“工具”,点击“编译选项”这个选项,打开编译选项对话框。

2、然后我们选中“编译时加入以下命令”和“在连接器命令行加入以下命令”这两个复选框。

3、在“编译时加入以下命令”和“在连接器命令行加入以下命令”复选框下的两个文本框中各输入“-g3”(不包括双引号)。

4、点击“代码生成/优化”选项卡,点击“连接器”栏,点击右侧“产生调试信息”栏右边的复选框,将它改成“Yes",点击下方”确定“。

5、最后,重启DEV-C++即可解决问题。

C语言编译过程分成四个步骤: 

1,由.c文件到.i文件,这个过程叫预处理 

2,由.i文件到.s文件,这个过程叫编译 

3,由.s文件到.o文件,这个过程叫汇编 

4,由.o文件到可执行文件,这个过程叫链接

用gcc查看预处理过程(假设源文件叫hello.c) 

gcc -o hello.i hello.c -E 

然后用 vi hello.i 即可查看生成的预处理文件

按ESC 输入:$ 跳到预处理文件 可看到hello.c源码

宏的本质:预处理阶段的单纯的字符串替换

预处理阶段,不考虑C语法


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8126041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存