谁能告诉我 C 和 Ada 中 pragma 的使用,如果可能的话请提供一些例子。
C99 中有 3 个标准编译指示:
#pragma STDC FP_CONTRACT on-off-switch
#pragma STDC FENV_ACCESS on-off-switch
#pragma STDC CX_LIMITED_RANGE on-off-switch
其中“开关”是其中之一
打开、关闭、默认。
这些可以在编译时使用,以神秘的方式修改编译器的行为(这些与 C99 浮点行为有关)。标准为标准编译保留 STDC;其他人可以使用他们喜欢的任何其他东西。
正如 Samuel Klatchko 所指出的,也存在非标准的编译指示。
基本上,它们是一种让编译器以半标准方式执行非标准操作的方法。一个例子是'#pragma pack
' 这意味着创建的结构在成员之间没有填充,即使这意味着对这些成员的访问将不是最佳的(大概空间比时间更重要)。这不是一个特别好的主意(尽管使用它的人会反对);但这是一个普遍认为的要求,因此编译器通常支持它。
我用 C 语言编程已经有 25 年了,还有一点闲暇。我一次都不需要使用 pragma。我已经玩过几次了,但从来没有真正需要使用它。也许我很幸运。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)