从Windows到Linux的Port C Project

时间:2018-10-11 17:19:55

标签: c linux windows port

我的任务是将庞大的C项目从Windows移植到Linux。我以前从未移植过任何东西到Linux,而且对Linux来说还很陌生。该项目使用了很多win32调用。我已经仔细阅读了其中的部分内容,并了解了这些部分的功能,但是有很多活动的部分,因此我觉得花太多时间来仔细阅读所有内容。移植的最佳方法是什么?认为我可以将项目移到linux机器上并逐个解决错误是愚蠢的吗?

谢谢你!

1 个答案:

答案 0 :(得分:2)

Wine是用于Linux的Windows模拟器,更确切地说是Windows API和二进制接口的重新实现,主要用于类Unix的操作系统。它还有一个名为 libwine 的内置库,该库实质上是相关Linux API(主要是libc和X11)与Win32之间的兼容层。

使用libwine编译项目,您将使用libwine作为共享库(共享库== dll)来编译Linux可执行文件(二进制)。这样,您可以在Linux项目中使用Windows API调用。

您对Win32 API的了解有很大帮助,最有可能的兼容性不是100%。可能您将不得不稍微修改一下代码(但不要太多)。