在主体中定义 name_fn 的函数的 C 原型(prototype)

标签 c macros function-prototypes

你能帮我理解下面这段代码的意思吗?具体来说,我不明白name_fn的作用是什么。

    #define name_fn
    void name_fn Function(void);

最佳答案

name_fn 在预处理期间展开为空。所以下一行是一样的

void Function(void);

空的 #define 对于兼容性、自文档和/或机械检查很有用。

比如在socket编程中,你可能会遇到:

SOCKET WSAAPI
accept (IN SOCKET s,OUT struct sockaddr FAR* addr, OUT int FAR* addrlen );

这里的INOUT 是空宏。他们

  1. 可以机械地使用[ check ]代码。
  2. 强烈提醒作者打算如何使用与其关联的参数。

关于在主体中定义 name_fn 的函数的 C 原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37880968/

相关文章:

c++ - 函数指针类型不能用于函数原型(prototype)

javascript - Crockford 关于构造函数调用模式的代码

c - 我在函数中分配内存,并返回 char*,我应该如何释放它?

objective-c - 如何计算RGB颜色中颜色分量的 "amount"

C++、海湾合作委员会 : avoid evaluation of useless expressions

objective-c - 如何在 Objective-C 中将方法转换为 MACRO

c - C中的多维数组原型(prototype)错误

c - 在 C 中将 makefile 与多个文件一起使用时遇到问题

c - 什么是 pro *c?

macros - 编写带有嵌套准引用的 Lisp 宏