为所有函数添加命名空间字符串

时间:2016-03-30 07:50:44

标签: c

在C中,我想在我希望它发生的所有函数中添加一个名称空间前缀字符串(不带引号),稍后可以随时更改名称空间字符串。

我的方法:

#define NAMESPACE project_name

void NAMESPACE_func_name()
{
}

That should become:

void project_name_func_name()
{
}

这可能,怎么样? 提前感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

您可以使用宏连接运算符和类似函数的宏来执行此操作:

#define NAMESPACE(name) project_name_ ## name

void NAMESPACE(func_name)(void)
{
    ...
}

答案 1 :(得分:2)

您可以使用宏concatenation

执行此操作
#define NAMESPACE(function) project_name ## function

void NAMESPACE(func_name)()
{
}