为什么linux不能运行win32程序

都是exe程序,为什么不能运行呢?请讲详细一些。

从根本上说Win32和Linux的可执行文件的格式不同.
Win32的可执行文件是PE格式.
而Linux的可执行文件通常是ELF格式.
这样,在Linux下执行PE文件,Linux无法识别或是当作ELF来加载,当然无法运行.
另外,Linux与Windows的库函数截然不同也是一个原因.
根据这两个原因,linux下的wine就是让Linux识别PE格式并且提供WIN32所用的库函数(只是部分支持),因而可以用wine执行WIN32文件(效果不是很好).
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-06-29
原理不同,语言不通。比如你一直读中文,突然要你理解一本德文书,并将其讲出来,你能吗?操作系统也是这样。所以要运行不同系统的程序就得装虚拟机,就像人要翻译一样。
第2个回答  2008-06-29
在很多西方国家,筷子不通用!除了在外华人.
第3个回答  2008-06-29
linux和win32的库文件有很大差异,mfc和glibc库函数接口完全不一样,加上linux内核提供的系统调用和windows提供的也不相同,所以你就别想直接运行了,linux有个虚拟机叫wine,就是设计来运行windows程序的,但是不能用来玩游戏,大部分游戏需要directx函数库支持,wine包含directx的版本需要付费。
第4个回答  2008-06-29
Linux下的可执行文件都是deb/rpm或者类似的名字,EXE是Windows下的可执行文件,自然不能在Linux下面运行。
如果你非要用的话,有一个兼容软件可以试试,不过效果不是很好:
http://www.winehq.com
第5个回答  2008-06-29
Windows 的 exe 和 Linux 的程序结构不一样。
功能调用的方式不一样。
软件功能不一样。

最主要的还是程序接口不一样。

Windows 下可以用 mingw 编译 Linux 下面程序的源代码实现 Windows 下面可以用的程序,但前提是解决了软件环境的兼容。
Linux 下面运行 Windows 程序可以借助 Wine 这个程序接口转换程序实现(这也是 wine 名字的由来,Wine Is Not Emulation,Wine 不是仿真器)

如何在Linux中运行Win32下的软件?
因此,请使用 fat32 分区或任何 linux 格式的分区。 5. 编译时发生错误? 答:首先请确保你的系统中装有 gcc 3.x (推荐使用 3.2.x );wine 在 GNU\/Linux 主流发行版的较新版本中以及 基于源代码的发行版中编译不成问题,但是在 FreeBSD 下好像不可以。 6. 在运行程序时总是得到类似如下的错误提示: wine: ...

win8\/win10电脑中安装kalilinux时出现cannotfindwin32-loader.ini如何...
具体方法如下:1、打开安装文件夹(光盘安装的在计算机中右击光盘选择在新窗口中打开);2、右击setup单机属性;3、勾选上以管理员身份运行和以兼容模式运行(win7),然后应用,确认,重新打开就可以了。上面给大家讲解的就是win8\/win10电脑中安装kalilinux时出现cannotfindwin32-loader.ini的详细解决方法...

linux不兼容windows哪些东西?
这个问题很大,比如不兼容windows的文件系统,FAT32,但是LINUX可以挂载FAT32等的文件系统 ,EXE的话部分是可以兼容的,比如由C,c++开发的一些应用程序,JAVA开发的应用程序则不存在兼容性问题(JAVA虚拟机的解释执行作用)PDF可以兼容,.doc文件就不能兼容了 ...

win7系统安装kali linux出现cannot find win32-loader.ini怎么办...
3、勾选上以管理员身份运行 和 以兼容模式运行(win7),应用,确认,重新打开就可以了。

win8\/win10电脑中安装kalilinux时出现cannotfindwin32-loader.ini如何...
1. 安装介质损坏:如果你使用的是U盘或光盘进行安装,可能会出现安装介质损坏的情况。请尝试重新下载Kali Linux镜像文件,并重新制作安装介质。2. 安装介质格式错误:如果你使用的是U盘作为安装介质,确保它被正确地格式化为FAT32文件系统,并且已经使用了正确的启动标志。3. 安装介质制作错误:如果你使用的...

注册表项打开时提示不是有效的win32程序如何解决?
“不是WIN32有效的应用程序”。一般大家第一个想到的解决办法就是杀毒,再不行就重装了。不过自从我学了linux以后我就决定不到最后关头绝不重装。于是我就开始查看具体的原因了。开始我也认为是中了病毒。然后用他的杀毒软件杀。病毒库是最新的。但是没有发现任何问题。而且她的IE还可以开。由于他装...

教程:使你的 ARM Linux系统(Aarch64)兼容Win32软件(通过Wine i386)(1...
第三步,构建一个rootfs,其中包含wine i386版本,但请注意,我推荐直接从Debian源安装Wine,以避免复杂的自定义构建过程。如果你追求最新版本,需根据其他方法操作。最后,通过编辑器修改终端命令,然后使用特定的命令运行Win32程序。注意,中文路径可能导致错误,所以路径管理要谨慎。附有下载链接和群组支持,...

win8\/win10电脑中安装kalilinux时出现cannotfindwin32-loader.ini如何...
5. 尝试使用其他启动工具来替代win32-loader.ini。例如,可以尝试使用UNetbootin或Rufus等工具来创建一个可启动的Kali Linux USB驱动器。6. 如果以上方法都没有解决问题,可以尝试在安装Kali Linux之前先升级或修复你的Windows操作系统。运行Windows的更新,安装最新的补丁和驱动程序,确保你的系统处于最新状...

不是有效的win32文件
一般的windows文件会有一个PE结构,文件的首先部分是MZ(dos头)然后是PE文件头,然后是导入表等等,如果病毒或者其他的程序破坏了可执行程序就会导致提示文件不是有效的win32文件,还有一种可能就是文件本身就不是win32 的文件,可能是16位的dos文件或者Linux文件等等 ...

Win32应用程序如何在Windows 10X的容器中运行以确保兼容性?
根据资料,Win32应用将通过类似Windows Linux子系统容器的模式运行,每个应用在独立的容器中运行,以保证安全性,每个容器几乎支持所有Win32应用。然而,容器化设计意味着应用程序无法直接更改系统文件或注册表,非官方安装通常受限。尽管如此,Win32应用程序在Windows 10X上的运行相对简单,部分共享内容与主机...

相似回答
大家正在搜