在编译并且执行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。
领取专属 10元无门槛券
私享最新 技术干货