源代码是怎么变成可执行程序的

 1.   扩展名也叫文件后缀名,是操作系统用来标志文件类型的一种机制。 
例如,“.txt”通常代表文本文件,里面存储的主要是字符数据,可以用记事本等文本编辑工具打开和编辑。“.jpg”是一种常见的图像文件扩展名,用于存储照片等静态图像,是经过压缩的图像格式。“.mp3”是音频文件格式,用于存储音乐或其他声音文件,这种格式能在保持较好音质的同时有效减小文件大小。“.pdf”主要用于电子文档,能很好地保留文档的格式,方便阅读和打印。不同的扩展名帮助用户和软件快速识别文件内容的性质,从而正确地处理这些文件。

2.  “.c”是C语言源文件的常见扩展名。
 
C语言用于编写各种程序,像操作系统内核、嵌入式系统软件、数据库管理系统等底层或对性能要求较高的应用场景中常常会用到。在编写C语言程序时,源文件一般以“.c”为后缀,例如“hello.c”,里面包含了C语言的代码,像变量定义、函数声明与实现等内容,之后可通过编译器(如GCC等)将其编译成可执行文件或者目标文件,从而运行相应的程序,实现具体的功能需求。

3. 过程

源文件.c—

1.预处理

  • 头文件展开   
  • 宏替换   
  • 条件编译   
  • 去除注释

       hello,i    预处理后的文件 

      

2.编译(通过编译器gcc  g++)

3.汇编   (汇编器)

    从汇编语言到机器语言(二进制代码)

             汇编语言是一种低级编程语言。
 
              它使用助记符来表示机器指令,让程序员可以用相对直观的方式编写程序,而不用直接                  面对机器语言中的二进制码。例如,常见的“MOV”用于数据传送操作,像“MOV AX, 1”                  就是把数值1传送到AX寄存器中;“ADD”用于加法操作,如“ADD AX, BX”意思是把                      AX  寄存器和BX寄存器中的值相加。

    hello.s     汇编文件

    hello.o     目标文件
 

4.将hello.o和运行时文件,库函数进行链接,生成可执行文件

      a.out     可执行文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值