2

我有一些 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 中每个元素的 .fa 字段的值

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

4

0 回答 0