将 win32 代码 (windows.h) 移植到 linux

use*_*760 1 c++ linux windows winapi porting

我正在开发一个 C++ 项目,在那里我有一堆 Visual Studio 生成的项目文件,我想将它们移植到 linux。我基本上是在 Windows 上的多个文件中使用 windows.h 头文件。现在,我不确定因为没有明确存在 linux.h 文件(如果确实存在,请指导我在哪里查看)。在 linux 上,我使用 Eclipse CDT 进行开发。关于它在 linux 上运行的可能性,我有两个想法,但我希望您的输入知道正确的方向是什么:

(1) 在 C++ 文件中删除带有 Linux API 调用的 Windows API 调用。但这意味着,我必须在 linux 中找到等效的功能,但我不确定在哪里查看。例如。Win32 中的 Filetime 相当于 linux 中的东西(还没找到这个东西)。

(2) 我复制了这些函数的基本语法(如 windows.h 中所写),然后创建了一个头文件(假设我将其命名为 linux.h)并将此头文件包含在 linux 上的项目中。

所以,显然你可能已经发现我对如何推进事情感到困惑。我只是想解决这个问题。请给我建议除以下内容之外的想法/观点:(1) 不,我不想使用 Boost。(2) 我不想在 Visual Studio 中重写文件。

Igo*_*sky 6

听起来您想要在 Linux 上使用 Windows API。我认为您还应该考虑通过用 STL 和 Boost 等可移植库替换 Windows API 调用来使您的 C++ 代码可移植。

但是,如果您真的无法做到这一点,请查看WineHQ,它是 Linux 上 Windows API 的实现。