首页 > 解决方案 > __MACH__ 对于#ifdef 意味着什么?

问题描述

我只是在浏览一些代码,并遇到了一个#ifdef

#ifdef __MACH__

#define CLOCK_REALTIME 0

int clock_gettime (int /*clk_id*/, struct timespec *t) {
    现在构造timeval;
    int rv = gettimeofday(&now, NULL);
    if (rv) 返回 rv;
    t->tv_sec = now.tv_sec;
    t->tv_nsec = now.tv_usec * 1000;
    返回0;
}
#万一

__MACH__这里指的是什么?它是引用我正在编译的当前操作系统的“机器”的任意名称吗?这真的是我唯一能想到的。

标签: c++

解决方案


__MACH__是一个内置的编译器宏,指示您是否在 Macintosh 操作系统上。它是在 mac 机器上编译时定义的。


推荐阅读