Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么大多数linux可执行文件在android系统中都是ET_DYN类型_Android_Linux_Elf - Fatal编程技术网

为什么大多数linux可执行文件在android系统中都是ET_DYN类型

为什么大多数linux可执行文件在android系统中都是ET_DYN类型,android,linux,elf,Android,Linux,Elf,通过读取android系统中二进制文件的ELF头,我发现/system/bin下的大多数可执行文件都是ET_DYN,即共享库。例如,键入/system/bin/ls、lsmod、kill文件。在我看来,这些文件是可执行的,应该是ET_EXEC类型。所以我的问题是:在android系统中,为什么Linux操作系统的可执行文件被编译成ET\u DYN类型 i、 e.共享图书馆 它们不是:它们是位置独立的可执行文件。有没有办法通过ELF头来区分可执行文件和共享库?@shijunzhao没有(至少对于P

通过读取android系统中二进制文件的ELF头,我发现/system/bin下的大多数可执行文件都是
ET_DYN
,即共享库。例如,键入
/system/bin/ls、lsmod、kill
文件。在我看来,这些文件是可执行的,应该是
ET_EXEC
类型。所以我的问题是:在android系统中,为什么Linux操作系统的可执行文件被编译成
ET\u DYN
类型

i、 e.共享图书馆


它们不是:它们是位置独立的可执行文件。

有没有办法通过ELF头来区分可执行文件和共享库?@shijunzhao没有(至少对于
PIE
可执行文件没有)。谢谢您的回复。在android平台上,我看到.so和exe的解释器是不同的,我可以通过它们的解释器来区分exe和.so吗?