Linux和Windows可执行文件的区分 - Go语言中文社区

Linux和Windows可执行文件的区分


一些后缀区分

现在PC平台流行的可执行文件格式(Executable),主要有以下两种格式(COFF(Common file format)格式的变种):

  • Windows下的 PE(Portable Executable)
  • Linux的 ELF(Executable Linkable Format)

可执行文件后缀:

  • Windows的 .exe
  • Linux的 .out.o (ELF可执行文件),没有后缀,linux一般可以自动识别文件类型,只要设了执行权限,有elf文件头,就可以看成可执行文件

linux 如何运行一个可执行文件

动态链接库(DLL,Dynamic Linking Library)文件后缀:

  • Windows的 .dll
  • Linux的 .so

静态链接库(Static Linking Library)文件后缀:

  • Windows的 .lib
  • Linux的 .a

目标文件有3种类型:

  1. 可重定位文件(Relocatable File) 包含适合于与其他目标文件链接来创建可执行文件或者共享目标文件的代码和数据。 (Linux的*.o 文件 Windows的 *.obj文件)
  2. 可执行文件(Executable File) 包含适合于执行的一个程序,此文件规定了 exec() 如何创建一个程序的进程映像。(比如/bin/bash文件;Windows的*.exe
  3. 共享目标文件(Shared Object File) 包含可在两种上下文中链接的代码和数据。首先链接编辑器可以将它和其它可重定位文件和共享目标文件一起处理,生成另外一个目标文件。其次,动态链接器(Dynamic Linker)可能将它与某个可执行文件以及其它共享目标一起组合,创建进程映像。目标文件全部是程序的二进制表示,目的是直接在某种处理器上直接执行(Linux的.so,如/lib/ glibc-2.5.so;Windows的.dll
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Black_Cat_33/article/details/125232418
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2023-01-02 20:26:10
  • 阅读 ( 201 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢