1.C语言编译成功后生成后缀名为.o文件
(1)是编译成功后的文件,以hello.c为例:
先将源文件编译成目标zhi文件:
gcc - c hello.c
这样就生成hello.o文件,再将目标文件编译成可执行文件:
gcc -o hello hello.o
这样就生成了可执行文件,在./hello就可以运行hello了。
(2)后缀名.o 就是object, 也就相当于windows下编译的obj文件, 俗称目标文件,该文件是指源代码经过编译程序产生的且能被cpu直接识别二进制代码。由编译器生成,具体的生成方法在不同的开发环境上是不同的.
百度百科说:后缀名.o文件是对象文件里面包含的内容就是0,1这样的机器可执行的执令,当你程序要执行时还需要进行链接(link).
连接程序之后再将这个文件与系统库文件连接就生成可执行文件,也就是把多个.o文件连接成一个可执行文件了。
2.在linux中这些.so、.o、.a文件,其实和Windows中的obj、lib、dll、exe等文件的关系是对应的。
windows下obj、lib、dl