c语言-程序的编译运行

c语言程序

//test1.c
#include<stido.h>

int main()
{
	printf("hello world\n");
	return 0;
}

上面的代码本身就是一个文本,只是在一定环境中被赋予的可以运行的能力。比如我们常用的是集成开发环境(IDE,Integrated Development Environment ),环境中自带所需处理部件:编译器。c语言的编译器主要是gcc 。

编译器

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。
例如上面的test1.c 需要运行需要在命令行输入如下内容:

$ gcc test1 -o test1.c	   //编译test1.c,并将test1.c命名为test1
$ ./test1	      //运行test1.c
$ hello world			//输出(运行结果

编译的步骤

预处理—>编译—>汇编—>链接

1.预处理
预处理就是对源代码进行文本处理,对开头除空白外第一个字符为#的代码行进行处理。
例如:

#include <stdio.h>

前面说过这个是标准输入输出头文件,读到这行代码时,从编译器的内置查找路径的根部开始查找stdio.h文件,读取其内容(文本内容),并把它直接插入到程序文本前面。
stdio.h是编译器内原本就有的头文件,像类似的还有很多,比如math.h和string.h等等。当然,我们还可以自己编写头文件,头文件的后缀是xx.h,并把它当前代码文件所在目录。我们要用就可以直接通过下面代码使用

#include "xx.h"

在命令行中输入

gcc -E xx.c -O xx.i

即可实现预处理,生成 .i 后缀的文件
2.编译
将文本文件hello.i翻译成文本文件hello.s。
在命令行中输入

gcc -S xx.i -o xx.s

在生成的xx.s文件中我们可以看到这是汇编代码(即使用的是汇编语言)
3.汇编
即将文件再次加工,生成由机器语言表示的文件(即二进制代码)

gcc -C xx.s xx.o

二进制格式的文件是无法打开查看的哦。
4.链接

gcc xx.o -o xx.exe

生成.exe的可执行文件。

然后才可以运行程序。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值