从gcc预处理器自动生成文档

时间:2014-09-23 17:05:25

标签: c gcc c-preprocessor code-documentation

我有一些C代码,它有静态初始值设定项,其值来自宏。这些初始化器本质上是我的代码的外部API。我正在寻找一种自动生成代码文档的方法,以便初始化值很容易看到。

例如,下面是一个非常简化的C程序 #include

typedef unsigned int u32;
#define Q 5
#define W 7
#define BaseNum 0x1000
#define CalculateNumber(x) (BaseNum + x)
#define SomeOtherCalc(x,y) (x<<y)

typedef struct
{
    u32 a;
} foo;

typedef struct
{
    foo f;
} bar;

static const bar myVar[] = 
{
    {
        .f = {
            .a = CalculateNumber(SomeOtherCalc(Q,W))*sizeof(u32),
        },
    },

    {
        .f = {
            .a = CalculateNumber(SomeOtherCalc(W,Q))*sizeof(u32),
        },
    },
};

void main(void){}

鉴于该程序,我想获得自动生成的文档,其中说

  1. 变量myVar有两个元素
  2. .f字段使用的字节数
  3. myVar
  4. 中每个元素的.f.a字段的值

    我可以使用 gcc -E 直接从GCC获取一些信息,但它并不能完全解析.f.a的值,也不能将sizeof()完全解析为数字。关于如何获得我正在寻找的东西的任何想法(最好不使用Doxygen)?

0 个答案:

没有答案