c++ - 我怎么知道我正在使用什么操作系统?

标签 c++ c

我需要一个可以在 Linux 和 Windows 中清除屏幕的功能。为此,我想知道是否有一些说明可以告诉我正在使用的操作系统。 我搜索了解决方案并找到了以下代码:

void clear_screen()
{
   #ifdef WINDOWS

    std::system ( "CLS" );

    #else

    // Assume POSIX

    std::system("clear");

    #endif
}

这个函数有两个问题:

  • 我不明白。

    ->对于#ifdef WINDOWS,WINDOWS是在哪里定义的?

  • 此代码在 Linux 中有效,但在 Windows 中无效。

注意:

  • 我使用的是 Windows XP。

  • 我不想要任何非标准功能......例如“诅咒”

最佳答案

_WIN32__gnu_linux____linux__ 等宏由相关编译器定义。您可以找到预定义编译器宏的完整列表 here .

_WIN32 是为 32 位和 64 位 Windows 环境定义的。

关于c++ - 我怎么知道我正在使用什么操作系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17168645/

相关文章:

c++ - 跨平台、基于交互式文本的界面,具有命令完成功能

.hpp 文件中静态函数的 C++ 链接器错误

c++ - LLVM万花筒教程JIT编译问题

c - 宏扩展正确,但给我 "expected expression"错误

c - 用户输入的数组元素之和的问题

c - 我的角色搜索循环

c++ - 如何为特定头文件中声明的函数强制执行 cdecl 调用约定

c++ - 如何获得两个 std::unordered_map 的集合交集?

c - C编程语言中是否存在不一致之处?

c - 当信号到达时警报停止