有人可以给我一些C 中一些 pragma 的例子吗?他或她正在使用的任何编译器)。如果可能的话 gcc,因为我使用的是 gcc 编译器。它在 C 代码中有何用处?
我不能给你我的编译器的确切版本,因为我在办公室,不记得了
我相信 C99 只识别 3 个 pragma (6.10.6) (所有这些都与浮点有关)
#pragma STDC CX_LIMITED_RANGE ... /* (7.3.4) */
#pragma STDC FENV_ACCESS ... /* (7.6.1) */
#pragma STDC FP_CONTRACT ... /* (7.12.2) */
任何没有STDC
实现定义的行为 (6.10.6) 的编译指示,因此最好不要使用
无法识别的STDC
pragma 调用 Undefined Behaviour。
为什么不只检查文档?
这是GCC 支持的编译指示列表,分为不同的类别。
例如:
#pragma GCC optimize ("string"...)
此 pragma 允许您为稍后在源文件中定义的函数设置全局优化选项。可以指定一个或多个字符串。在此之后定义的每个函数都将如同为该函数指定了 attribute((optimize("STRING")))。选项周围的括号是可选的。有关优化属性和属性语法的更多信息,请参阅函数属性。
`#pragma GCC optimize' pragma 未在 4.4 之前的 GCC 版本中实现。