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

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

c语言运行方式如下:

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

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

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

编译C文件用GCC。

编译C文件常用方法:

单个文件:

颂敬g++

file.cpp

这是最简单形式,缺省输出为a.out,野槐慎可以用-o命令指定输出文件,比如g++

file.cpp

f.out

多个文件:

g++

-c

1.cpp

-o

1.o

g++

-c

2.cpp

-o

2.o

g++

1.o

2.o

-o

prog.out

链接成可执行文件:

一般用g++

-o

file

file.cpp

多个文件是g++

-o

file

file1.cpp

file2.cpp

...

编译C++不是用GCC而是G++.

如果用GCC能编译但不能链接.

多个文件:

1.编译多个文件,但不连接:

g++

file1.cpp

file2.cpp

会生成两个文件:file1.o,

file2.o

2.连接:

g++

-o

outFileName

file1.o

file2.o

会生成一个可执行文件:明改outFileName。

如果想,一步就完成编译和连接,那么:

g++

-o

outFileName

file1.cpp

file2.cpp

-o选项控制是否连接。

C语言源文件后缀名是.c,编译生成的文件后缀名是.obj,连接后可执行文件的后缀名是.exe。

源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变。

扩展资料

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大。

依靠非常全面的运喊肢唯算符和多郑培样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接 *** 作,因此既能够用于开发系统程序,也饥闹可用于开发应用软件。

C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点。


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

原文地址: http://outofmemory.cn/tougao/12326977.html

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

发表评论

登录后才能评论

评论列表(0条)

保存