C++ 从c+创建枚举+;编译时的文件

C++ 从c+创建枚举+;编译时的文件,c++,enums,metaprogramming,preprocessor,boost-preprocessor,C++,Enums,Metaprogramming,Preprocessor,Boost Preprocessor,我有一些用户可以定义的功能,如: int prop1(....) { if(...) return Prop2; return Failed; } int prop2(...) { if(...) return Prop3; return Failed; } 我想创建一个文件,如果不同函数之间存在依赖关系 是否有某种方法可以在编译时生成枚举,并使用某种正则表达式解析文件,以提取函数中的不同返回标记并将其写入文件。在编译时不可能创建枚举 您可以先解析该文件

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

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

   return Failed;
}

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

  return Failed;
}

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


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

在编译时不可能创建
枚举

您可以先解析该文件,然后从中创建一个文件.h,这样您就可以将其包含在程序中,而无需其他操作


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

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