一、由于linux是unix的重要分支,android 的底层是Linux,因此该解释仍然符合。
二、相同点:它们都是由指令码和操作数组成的集合组成的二进制文件,一般由c/c++编译得到。
.o文件(object): 目标文件,即c/c++等源码编译后最先得到的对象文件。就相当于windows里的obj文件 ,一个.c或.cpp文件对应一个.o文件。
.a文件:是好多个.o合在一起的静态库文件(通常由链接器linker把多个.o文件链接起来),相当于windows下的.lib文件。给外部程序提供接口,在外部程序编译的链接阶段和把.a文件链接进去。
.so文件(shared object):是好多个.o合在一起的动态库文件(通常由链接器linker把多个.o文件链接起来),和windows的.dll文件差不多。给外部程序提供接口,在外部程序运行阶段把.so文件连接进去。
.bin文件:可执行文件,相当于windows下的.exe文件。改文件被载入内存,供cpu调度形成一个独立的进程。
它们之间的关系是,.a文件和.so文件是由.o文件组成的,.bin文件是有其他三种文件组成的。