【问题标题】:Create enum from a c++ file at compile time在编译时从 c++ 文件创建枚举
【发布时间】:2019-12-17 23:53:49
【问题描述】:

我有一些用户可以定义的功能,例如:

int prop1(....) {
  if(...)
    return Prop2;

   return Failed;
}

int prop2(...) {
  if(...)
    return Prop3;

  return Failed;
}

如果不同函数之间的依赖关系,我想创建一个文件。

有没有办法在编译时生成枚举并使用某种正则表达式解析文件以提取函数中的不同返回标记并将其写入文件。

【问题讨论】:

  • 虽然其中一些细节有些不清楚,但大型库包含少量自动生成的代码是相当普遍的。您只需要编写代码即可。没有自动生成的代码是相似的,也没有某种通用工具,一旦按下按钮,就会出现一个为您执行此操作的脚本。你必须自己实现它。
  • 你做不到。尝试编写脚本
  • “我想创建一个文件如果不同函数之间的依赖关系”:请校对。

标签: c++ enums metaprogramming preprocessor boost-preprocessor


【解决方案1】:

无法在编译时创建enum

您可以先解析该文件并从中创建一个file.h,以便您可以将其包含在您的程序中,但仅此而已。

显然,您可以使用脚本自动执行此机制。

【讨论】:

    猜你喜欢
    • 2020-05-06
    • 2012-03-15
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多