原文
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
![]() |
原始链接: https://news.ycombinator.com/item?id=43518917
Hacker News 的一个帖子讨论了将 Linux 转换为 Windows 的可行性和必要性,起因是 philipbohun.com 上的一篇博文。评论者认为 Linux 已经通过容器化(Flatpak、Snap、AppImage)和静态链接提供了二进制兼容性解决方案,从而避免了 ABI 问题。一位用户指出,glibc 的向后兼容性确保了较旧的二进制文件(大约 2005 年左右的)仍然可以在具有所需 `.so` 文件的现代发行版上运行,这与 Windows 需要 `.dll` 文件类似。Zorin OS 被提及为一个现有的 Linux 发行版,它可以通过 Wine 运行 `.exe` 文件。最后,一位评论者质疑原发帖人关于苹果和微软等大公司激励机制错位的说法,认为最大化利润本身可能并非“不当”的。讨论的中心围绕着桥接 Linux 和 Windows 应用程序兼容性的实用性和必要性。
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
![]() |
It can also be achieved with static linking and by shipping all needed library and using a shell script loader that sets LD_LIBRARY_PATH.
Also glibc and properly designed libraries are backwards compatible, so in principle just adding the debs/rpms from an older Debian/Fedora that ships the needed libraries to the packaging repositories and running apt/dnf should work in theory, although unfortunately might not in practice due to the general incompetence of programmers and distribution maintainers.
Win32 is obviously not appropriate for GNU/Linux applications, and you also have the same dependency problem here, with the same solution (ship a whole Wine prefix, or maybe ship a bunch of DLLs).
reply