C语言笔记:模块化编译链接(MinGW)

本文介绍了C语言的模块化开发,讲解了如何分别编译源文件并进行链接,通过实例演示了从预处理到生成可执行文件的过程,包括编译单个源文件、解决函数声明问题及最终的链接操作。
摘要由CSDN通过智能技术生成

文章目录

简介

在我们入门C/C++语言时,编写的大部分C语言程序都只包含一个源文件,没有将代码分散到多个模块中,这里的模块指的时不同的源文件,每个文件称为一个可编译单元,可以分别编译。

在C语言中,我们可以将一个.c文件称为一个模块(Module);所谓模块化开发,是指一个程序包含了多个源文件(.c 文件)以及头文件(.h 文件)。

C语言由源代码生成可执行文件的各阶段如下:
C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件。通常把编译预处理,编译,优化程序,汇编程序这几个阶段统称编译阶段。这里主要讲解编译与链接部分,其他部分涉及编译原理,且此博文不涉及该方面内容

这里需要注意几点:

  • 编译是针对单个源文件(.c 文件)的,有多少个源文件就生成多少个目标文件,并且在生成过程中不受其他源文件的影响。也就是说,每个源文件都是独立编译的。
  • 链接就是将构成整个C程序各个函数的代码,包括相应的库函数(标准库,动态库,静态库)的实现代码,程序的启动以及退出代码,用户编写的各个函数代码链接在一起,从而形成最后的可执行程序的过程

例子

假设某文件夹中目前包含两个源程序(.c),main.c和sum.c(假设读者配置好gcc环

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值