【问题标题】:C prototype of a function with define name_fn in a body在主体中定义 name_fn 的函数的 C 原型
【发布时间】:2016-06-17 11:56:05
【问题描述】:

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

    #define name_fn
    void name_fn Function(void);

【问题讨论】:

    标签: c macros function-prototypes


    【解决方案1】:

    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. 强烈提醒作者打算如何使用与其关联的参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-14
      • 2012-02-04
      • 2011-06-19
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多