Skip to content Skip to footer

c - 这个#ifdef __GNUC__ 是关于什么的?

在编译器中定义宏来确定它们是什么编译器、版本是什么是很常见的……可移植的 C++ 代码可以使用它们来确定它是否可以使用特定功能。

是什么__GNUC__意思?

它表明我是一个 GNU 编译器,你可以使用 GNU 扩展。[1]

是什么__attribute__((unused))?

附加到变量的此属性意味着该变量可能未被使用。GCC 不会为此变量生成未使用的变量警告。[2]

__GNUC__和 和有什么不一样_MSC_VER?

它们是两个不相关的宏。第一个说我是 GNU 编译器,第二个说 MS 编译器的版本号。但是,MS 编译器不应该支持 GNU 扩展。

我怎样才能#ifdef检查操作系统是否正在使用 GNU 和 MS Visual Studio 编译我的 python 代码?

#if (defined(__GNU__) && defined(_MSC_VER))

// ...

#endif