代码之家  ›  专栏  ›  技术社区  ›  Yuri Astrakhan

用宏创建CLI C++中的HTML文档

  •  0
  • Yuri Astrakhan  · 技术社区  · 14 年前

    从本机外部库中,我得到一个包含枚举声明的头文件:

    #define LIST(declare) \
       declare(A, "aaa") \
       declare(B, "bbb") \
       declare(C, "ccc") \
    

    使用它,我创建一个.NET枚举:

    #define EXTRACT(p1,p2)  p1,
    enum class Val { LIST(EXTRACT) };
    

    效果很好。结果是 Val.A ,…价值观。现在,我想自动生成 /// aaa HTML文档使用相同的方法,因此宏的输出如下所示:

    enum class Val {
        /// aaa
        A,
        /// bbb
        B,
        /// ccc
        C,
    }
    

    创建类似宏的

    #define EXTRACT(p1,p2) /// p2 \
                               p1,
    

    因为C++编译器的处理而不起作用 /// 作为注释,由于 \ 在队伍的尽头。

    不使用codegen工具就可以实现这一点吗?谢谢!

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community Sam Holder    7 年前

    Microsoft的预处理器不保留宏中的注释。所以从技术上讲,插入新行是不可能的。 See this 详细问题解答。

    因此,首先不可能使用MS的预处理器生成代码。