任何人都可以告诉我使用pragma语句

mad*_*ddy 1 c ada pragma

任何人都可以告诉我在C和Ada中使用pragma,如果可能的话还有一些例子.

Jon*_*ler 5

C99中有三个标准编译指示:

#pragma STDC FP_CONTRACT on-off-switch
#pragma STDC FENV_ACCESS on-off-switch
#pragma STDC CX_LIMITED_RANGE on-off-switch
Run Code Online (Sandbox Code Playgroud)

"开关关闭"是ON,OFF,DEFAULT之一.

这些可以在编译时用于以神秘的方式修改编译器的行为(这些与C99浮点行为有关).该标准为标准pragma保留了STDC; 其他人可以使用他们喜欢的任何东西.

正如Samuel Klatchko所指出的那样,还有非标准的pragma.

基本上,它们是让编译器以半标准方式执行非标准事物的一种方法.一个例子是' #pragma pack'这意味着在成员之间没有填充的情况下创建结构,即使这意味着对这些成员的访问将是次优的(空间比时间更重要,可能).这不是一个特别好的主意(尽管那些使用它的人会反对); 但这是一个普遍认为的要求,因此编译器通常会支持它.

我一直在C编程 - 哦,25年,有点多余.我不需要一次使用pragma.我玩过几次玩具,但从来没有真正需要使用它.也许我很幸运.