📜  编译后的C文件类型

📅  最后修改于: 2021-05-28 03:26:03             🧑  作者: Mango

在编译并执行程序时编写C程序后,将创建各种类型的文件。您可以通过编译C程序进行引用:-幕后以及C程序如何执行?以便更好地理解。

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

  1. 每个.h标头文件都会与其对应的.c文件进行预编译,并创建一个标头目标文件(.o文件)
  2. 在编译我们的main.c文件之前,它首先经过预处理器,然后编译器将其编译为汇编器并创建目标文件( main.o )。
  3. 然后,链接器将main.o与所需的标头对象和库链接起来,并创建一个可执行文件(程序.exe )。
    以下是创建的文件列表:
  1. 源文件(.c):这些文件包含函数定义以及整个程序逻辑,这些文件是人类可读的,并且按照约定,它们的名称以.c结尾。
  2. 头文件(.h):这些文件包含函数原型和各种预处理器语句。它们用于允许源代码文件访问外部定义的函数,并且按照约定,它们的名称以.c结尾。
  3. 目标文件(.o):这些文件是作为编译器的输出而产生的。它们由二进制形式的函数定义组成,但是它们本身不能执行,并且按照惯例,它们的名称以.c结尾。
  4. 二进制可执行文件(.exe):这些文件是作为称为“链接器”的程序的输出而产生的。链接器将许多目标文件链接在一起,以生成可以直接执行的二进制文件。它包含链接程序可以从存档中提取的符号,并可以在构建可执行文件时将其插入到可执行文件中。按照约定,它们的名称在Windows中以.exe结尾。
  5. 动态库文件(.so,.dylib,.dll):动态库(大多数POSIX系统的.so文件,OSX的.dylib和Windows的.dll文件)在程序运行时动态链接。这些有时也称为共享库,因为一个库映像可以被许多程序共享。如果有多个应用程序正在使用该库,则动态库具有占用较少磁盘空间的优势。而且,它们允许库更新(错误修复),而不必重建可执行文件。按照约定, .dll用于在Windows中命名, .so用于MacBook,而.dylib用于OSX。

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。