我不知道这是否可行,即使它是正确的,但我在.c文件中定义了一个宏,现在我想公开该宏,因此需要将其放在.h文件中。但我不想公开其实现方式,仅公开使用的签名。

//.c
#define sayhi() printf("hi");

//.h
sayhi()

//another.c
int main(...) {
    sayhi();
}

最佳答案

宏不像函数那样具有签名,它们仅在预处理阶段持续存在。您将不得不使其成为一个函数或使实现成为一个函数。

关于c - 如何在.c中实现宏,但将其公开以在.h文件中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17180902/

10-12 22:32