在linux下面,a文件其实是.o文件打了一个包,解压缩就可以看到里面的.o文件,然后这个.o文件是ELF的.
然而,我在win下面,用MinGW,也编译了一对库,生成了.a文件,我同样将其解压缩,也得到了一堆.o文件.
按照之前的想法,这个时候的.o文件,应该是PE格式的.
但是很遗憾,我找了一个PE reader(NikPEViewer.exe)试了一下,说不是PE格式, DOS signature is missing.
用二进制编辑器打开,也看不到开头的magic number.
那问题来了
1. 这个.o到底是什么?
2. 如果我拿objdump查看,确实看到这个.o文件是的格式是file format pe-x86-64,那他为什么没有magic number呢
3. 既然,在win下面都需要遵守PE规定,那么为什么MinGW编出来的东西的扩展名不按照win的dll,lib来呢
--
修改:lobachevsky FROM 1.202.141.*
FROM 1.202.141.*