linux系统下编译的文件在windows下能运行吗

2024-11-18 07:47:31
推荐回答(2个)
回答1:

理论上说Linux系统编译的文件是不能在Windows系统上执行的,因为Windows系统没有Linux程序执行所依赖的.so和.a文件,.so和.a文件是Linux系统上的共享库文件,Windows系统上也没有Linux程序需要的系统调用(系统调用相当于Windows系统的API的概念),不同操作系统的二进制文件是不能通用的。
但是现在情况有些不一样了,新版的Windows10提供了WSL(是Windows Subsystem for Linux的缩写),可以在Windows 10系统中运行Ubuntu、Fedora、SUSE Linux,其实就是个子系统,在子系统内可以运行Linux程序,主要是为了吸引Linux的开发者用户的。

回答2:

我听都没听说过可以这样做,首先,Windows不支持Linux的文件系统,如EXT3,EXT4,XFS之类的,其次,虽然有MinGW这样的编译工具,但无法用这些工具构建一个可以读取和写入上述文件系统的chroot工具包环境,因为在编译Linux过程中,需要多次使用chroot。