C程序编译后生成的是 可执行文件。
当C程序被编译后,会生成几个不同类型的文件,其中最重要的是可执行文件。可执行文件是一种二进制文件,它包含了已编译的机器指令,可以直接在操作系统上运行。除了可执行文件外,编译过程还可能生成目标文件、库文件和调试信息文件等。
目标文件是编译器生成的中间文件,包含了编译器所生成的机器代码和数据。由于目标文件是针对特定的平台和操作系统编译的,因此不能直接在其他平台或操作系统上运行。在链接阶段,这些目标文件会被链接器链接成可执行文件。
库文件是一些预编译的对象文件的集合,它们通常包含一些常用的函数和数据结构。在程序中调用这些库文件中的函数时,链接器会将这些函数代码插入到程序的可执行文件中。C语言中常用的库文件有标准C库(libc)和数学库(libm)等。
因此,C程序编译并连接后最终生成的是可执行文件,这是可以直接在操作系统上运行的程序。