c - C 中的宏扩展——检索无符号 32 位字

标签 c types macros struct buffer

下面的代码片段是如何工作的?什么是输入? Eclipse 说 IN 代表“宏扩展”:

 UWORD32 (*get_u32)(IN UWORD8 *buffer_ptr);    /* Gets unsigned 32bit word   */
                                           /* from the buffer */

上面的代码是结构的一部分。并像这样使用。

struct my struct s;
UWORD8* buf;

s->get_u32(buf);

它是如何工作的?

最佳答案

我猜 IN#defined 在某处作为 const:

#define IN const    // input parameters are const

get_u32 只是一个函数指针 - 该函数采用单个参数(指向 UWORD8 的指针)并返回 UWORD32

关于c - C 中的宏扩展——检索无符号 32 位字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12811798/

相关文章:

c++ - 在 C++ 中获取 double 的精确位表示

rust - 如何提供可选泛型作为 macro_rules 参数?

c - 从 c 中的地址中删除 LSB

c - OpenGL(在 Ubuntu 中): glGetError() returns GL_INVALID_OPERATION

c - 从 CSV 文件读取并解决 ";"问题

c - 将表存储在不同的内存地址 - AVR XMEGA256A3BU 的 C

haskell - 在 haskell 中运行时反序列化为不同类型

typescript - 如何在 TypeScript 中检查运行时的对象类型?

c++ - 有没有办法为函数创建预处理器宏?

macros - 如何在宏中添加前缀/后缀标识符?