【发布时间】:2011-05-10 08:51:49
【问题描述】:
我正在寻找一组 #ifdef 来检查 GCC 和 Visual Studio 的 __restrict 关键字的可用性。我假设它需要检查编译器版本,但我不知道它是针对哪个版本引入的。谁能帮帮我?
更新:当编译为 C89 时,这必须(并且只需要)工作!所以我不能依赖 __STDC_VERSION__ 表示 C99 或 C99 支持。
【问题讨论】:
-
我认为
__restrict是 C++ 标准认可的关键字。 -
没关系 - 我需要它也适用于 C 和旧编译器版本 (Visual Studio 98)
-
Visual Studio 98 是什么意思?我不知道存在这样的版本。在 VS.NET (Visual Studio 2002) 之前,只有 Visual Studio 6,而且它的 C++ 编译器漏洞百出,因此没有必要支持它,因为这基本上排除了现代 C++ 的使用。
-
@iammilind:你错了。下划线给出了它。
-
@Tomalak,是什么意思?在 C99 中有一个名为
restrict的关键字,并且还为 C++ 引入了__restrict。对不对?
标签: c visual-studio gcc c89 restrict-qualifier