首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

也许你会写C语言的代码,但是你真的不一定理解这些C文件类型

在编译并且执行C程序后,将创建各种类型的文件。您可以通过编译C程序进行引用。

下面是编译每个C文件时的注意事项:

每个.h标头文件都会与其对应的.c文件一起进行预编译,并创建一个标头目标文件(.o文件)

在编译main.c文件之前,它首先经过预处理器,然后编译器将其编译为汇编器并创建目标文件(main.o)。

然后,链接器将main.o与所需的标头对象和库链接起来,并创建一个可执行文件(程序.exe)。

以下是创建的文件列表:

源文件(.c):这些文件包含函数定义以及整个程序逻辑,这些文件是人类可读的,并且按照约定,它们的名称以.c结尾。

头文件(.h):这些文件包含函数原型和各种预处理器语句。它们用于允许源代码文件访问外部定义的函数,并且按照约定,它们的名称以.c结尾。

目标文件(.o):这些文件作为编译器的输出产生。它们由二进制形式的函数定义组成,但是它们本身不能执行,并且按照惯例,它们的名称以.c结尾。

二进制可执行文件(.exe):这些文件是作为称为“链接器”的程序的输出而产生的。链接器将许多目标文件链接在一起,以生成可以直接执行的二进制文件。它包含链接程序可以从存档中提取的符号,并可以在构建可执行文件时将其插入可执行文件中。按照约定,它们的名称在Windows中以.exe结尾。

动态库文件(.so,.dylib,.dll):动态库(对于大多数POSIX系统为.so文件,对于OSX为.dylib,对于Windows为.dll文件)在运行时由程序动态链接。这些有时也称为共享库,因为一个库映像可以被许多程序共享。如果有多个应用程序正在使用该库,则动态库具有占用较少磁盘空间的优势。而且,它们允许库更新(错误修复),而不必重建可执行文件。按照约定,.dll用于在Windows中命名,.so用于MacBook,而.dylib用于OSX。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210109A0BI5P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券