windows下的可执行程序可以再linux下运行吗?
答案:不能
原因有以下:
(1)
可执行的二进制文件包含了:机器指令、数据资源、程序运行资源(物理的和虚拟的内存空间、进程、线程资源等)。因此说明了,可执行文件执行之前,操作系统要做一些准备工作,根据不同的操作系统,准备工作是不同的,因此可执行文件的格式是不相同的。Windows下可执行文件格式为PE格式,linux下可执行文件为elf格式。所以说,文件格式的不同导致了可执行文件是不可以直接跨平台使用。
(2)
由于不同的操作系统API(应用程序接口)不同,而一个可执行文件要执行时都需要操作系统的交互才能完成,而不同的操作系统交互操作的方法不同,因此不同操作系统下的可执行文件不能直接在对方那里直接运行。