我有一个为linux编写的应用程序,我想让它在windows下执行。那么,如果程序在windows下运行,我怎样才能在代码中创建一个特定的行?我知道#ifdef的某些内容......谢谢
答案 0 :(得分:6)
您正在寻找:
#if defined(_WIN32)
// Your Windows specific code here
#endif
根据评论进行编辑:
这里有一个关于_WIN32 vs WIN32的讨论:Whats the difference between the win32 defines
答案 1 :(得分:2)
这取决于代码。你或许可以重新编译它然后去。如果没有,移植所涉及的工作可能是微不足道的(这里或那里有一些小细节),或者它几乎是不可能的(例如,试图移植valgrind)。
在您开始使用#ifdef
之前,请先阅读Henry Spencer's paper主题。
答案 2 :(得分:0)
我使用#ifdef _MSC_VER
来了解它是否是Microsoft编译器,但我确信还有其他方法。
答案 3 :(得分:0)
通常为#ifdef _WIN32
,但#ifdef WIN32
也有效。