动态检查结构的成员变量名称

时间:2017-01-24 06:15:41

标签: c linux debugging

我正在编写一个泛型函数,用于从结构中生成JSON字符串,该结构将结构作为输入并返回JSON格式的字符串。

示例:

#define LF "\n"

 struct object {
    int number;
    char *name;
    char status;
};

char *json_stringify(void *s, char *type)
{
    char *result;

    ....
    ....
    return result;
}

int main()
{
    struct object obj ={
        .number = 1000,
        .name = "ajith",
        .status = 'S'
    };
    printf("Result : %s"LF, json_stringify(&obj,"struct object"));
    return 0;
}

我需要编写json_stringify()函数,它产生如下的输出,

{"number":1000,"name":"ajith","status":"S"}

但是有可能在运行时识别结构的成员变量名吗?

编译器在哪里保留结构定义细节?

注意:我使用的是带有gcc的CentOS-6 Linux发行版。

请帮帮我... 提前谢谢。

0 个答案:

没有答案