gpt4 book ai didi

c++ - C++ 跨平台编程

转载 作者:行者123 更新时间:2023-11-30 02:04:59 25 4
gpt4 key购买 nike

我想让一个程序在 WIN\Linux 下运行和编译。
我想获得有关运行我的程序的操作系统的一些信息。
此外,我想要一个变量来决定我想要执行的代码。

我想到了一个预处理代码来输入我描述的控制变量。
所以,我必须有类似的东西:

#  //a preprocess code to detect the os
# define controllingVar // ?

我使用 C++;

最佳答案

您可以检查是否定义了 WIN32 宏:

#ifdef WIN32
// do windows stuff
#else
// do GNU/Linux stuff
#endif

请注意,在某些编译器上,您可能还必须检查 _WIN32,如 wikipedia 中所述.

举个例子:

#ifdef WIN32
void foo() {
std::cout << "I'm on Windows!\n";
}
#else
void foo() {
std::cout << "I'm on GNU/Linux!\n";
}
#endif

编辑:由于您要询问每个操作系统的不同 main,这里有一个示例:

int main() {
#ifdef WIN32
// do whatever you want when executing in a Windows OS
#else
// do the same for GNU/Linux OS.
#endif
}

你也可以有不同的main:

#ifdef WIN32
int main() {
//windows main
}
#else
int main() {
//GNU/Linux main
}
#endif

关于c++ - C++ 跨平台编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9977884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com