【问题标题】:How to write pragmas in C如何在 C 中编写 pragma
【发布时间】:2011-07-27 15:18:24
【问题描述】:

我知道#pragmas 是编译器指令,用于向编译器提供附加信息。我的问题是,我需要为我的项目写一些#pragmas。即,当代码中有某些特定模式时,我需要调用某些特定代码。有人可以对此有所了解吗...?

提前谢谢..!

【问题讨论】:

  • 完全不清楚您需要做什么或编译指示可能与它有什么关系 - 请描述您的实际问题。
  • 您是在问是否可以定义自己的#pragma?如果是这样,答案是响亮的
  • 您需要为您的问题添加更多细节。您希望检测到什么特定模式来调用特定代码
  • 我需要编写自己的编译器指令和各种子句。例如,我们有 openMP 编译器指令,如 #pragma parallel for,用于并行化“for”循环。我需要写一些类似的东西。
  • 您确定您的意思是#pragma 而不是#define?

标签: c gcc compiler-construction pragma


【解决方案1】:

您不能编写自己的#pragmas。您必须查看支持 #pragmas 的编译器手册。

另外,如果您的编译器允许您修改其源代码(许可和源代码方面),您可能会加入一些新的。不要指望它是一项微不足道的任务,通常没有最终用户友好的插件- 在 write-your-own-pragmas 系统中。

【讨论】:

  • 别忘了接受答案。但不要太快,稍等片刻以激励更多人发布答案。
【解决方案2】:

#pragma 是编译器供应商合法实现专有扩展的一种方式。它们被硬编码到编译器中。 (并且 IIRC 编译器需要忽略未知的编译指示。)

除非您编写自己的编译器,否则您无法创建自己的编译指示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 2011-02-09
    • 2010-09-18
    • 2017-07-29
    • 2011-04-30
    • 2012-02-07
    • 2010-10-02
    相关资源
    最近更新 更多