但是两者略有不同,前者是Executable可执行文件,而后者是可重定位的Relocatable。如果你感兴趣也可以试试共享库文件,其格式依然是ELF,或许会是这样ELF 32-bit LSB shared object。 那么ELF文件内部是怎样存储数据的呢?当然不能再使用vi啦,我们可以使用readelf工具来查看下,以目标文件hello.o为例:readelf -a hello.o...
sub.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped test.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped libsub.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped test: ELF 32-bit LSB executable, ...
这将显示库文件的架构信息,例如ELF 64-bit LSB shared object或ELF 32-bit LSB shared object。 检查当前系统的架构: 你可以通过uname -m命令来检查当前系统的架构。在终端中输入: bash uname -m 这将显示系统的架构,如x86_64(表示64位系统)或i386/i686(表示32位系统)。 确保库文件的架构与系统架构相匹配...
ET_DYN 3 Shared object file ET_CORE 4 Core file ET_LOPROC 0xff00 Processor-specific ET_HIPROC 0xffff Processor-specific 尽管未指定核心文件内容,但保留类型ET_core来标记文件类型。从ET_LOPROC到ET_HIPROC(包括在内)的值保留用于处理器特定的语义。其他值是保留的,并将根据需要分配给新的对象文件类型...
libsub.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped test: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped 结果很清楚的告诉我们他们都属于哪一个类别。比方 sum.o 是应用...
libsub.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped test: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped 结果很清楚的告诉我们他们都属于哪一个类别。比方 sum.o 是应用...
共享目标文件(Shared Object File):这类文件包含了代码和数据,扩展名为.so。它可以在以下两种情况下...
: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped test: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped 1. 2. 3. ...
sub.o: ELF32-bit LSB relocatable, Intel80386, version1(SYSV), not stripped test.o: ELF32-bit LSB relocatable, Intel80386, version1(SYSV), not stripped libsub.so: ELF32-bit LSB sharedobject, Intel80386, version1(SYSV), not stripped ...
共享目标文件(Shared Object File),包含可在两种上下文中链接的代码和数据。首先链接编辑器可以将它和其它可重定位文件和共享目标文件一起处理,生成另外一个目标文件。其次,动态链接器(Dynamic Linker)可能将它与某个可执行文件以及其它共享目标一起组合,创建进程映像。 还有一种 ELF 文件 —— 核心转储文件(Core Dump...