0

我目前不得不将一个用 C 语言编写的用于 Windows 系统(和 MinGW 编译器)的项目改编为 Linux 系统。我已经阅读了有关交叉编译的信息,但它似乎对我的情况没有足够的帮助,因为我使用的是 64 位 Windows 机器,而我的 Linux 系统是 32 位。另外,我的项目中有很多 DLL 调用,因为这些 DLL 在 Linux 上不一定存在,所以会引起麻烦。我想知道 StackOverlfow 社区中是否有人知道我如何解决(或至少缓解)我的问题。先感谢您

4

2 回答 2

2

如果您尝试将 Windows 设备驱动程序移植到 Linux,您不妨扔掉代码。Linux 内核的工作方式与 Windows 内核非常不同。由于您在内核编程中基本上没有抽象,因此即使您在 Windows 上使用 Linux 工具链,也没有真正的方法来制作跨平台驱动程序。

Linux 和 Windows 具有完全不同的内核设计,这意味着您为其中一个编写的代码根本无法在另一个上运行。尝试在 Windows 上编译 Linux 用户空间程序已经很困难了,更不用说尝试将 Windows 驱动程序完全移植到 Linux 上了。

于 2013-07-28T05:33:50.630 回答
0

谢谢大家的回答。实际上,我也认为这实际上是不可能的去调整代码(更重要的是,它甚至不仅仅是一个应用程序,而是针对特定电子板的特定驱动程序的几个 .c 和 .h 文件......)。因此,我现在开始在 Windows 操作系统上测试代码,然后我会看看我将如何使用我的 Linux 系统......

于 2013-08-05T11:44:19.480 回答