需要帮助从ltp testsuite文件tst_res.c了解这个宏

时间:2012-05-19 05:42:17

标签: c macros

这个宏有什么作用?我无法理解它的定义:

#define PAIR(def) [def] = { .name = #def, .val = def, },

发件人:ltp-full-20120401 / lib / tst_res.c第183行

您可以从此link

获取来源

1 个答案:

答案 0 :(得分:2)

看起来它用于初始化结构数组。

#define PAIR(def) [def] = { .name = #def, .val = def, },

以下使用的宏PAIR(FOOBAR)将扩展为:

[FOOBAR] = { .name = "FOOBAR", .val = FOOBAR, },

.name.val将成为数组元素struct类型的成员。