1

希望有人能帮我破译这个 C 片段:

typedef int (DEFCALL *getFieldVal)(int key, int fieldSelect, char *name)

DEFCALL 在代码的前面定义,但仅作为

#define DEFCALL

所以,我认为DEFCALL只是一个空白,我正在有效地查看

typedef int (*getFieldVal)(int key, int fieldSelect, char *name)

它将 getFieldVal 定义为一个指向函数的指针,该函数接受 args int、int 和 char*,并返回一个整数。但DEFCALL我想知道。想确定。

4

2 回答 2

6

宏为向函数类型添加调用约定留出了空间。

于 2013-04-02T20:57:19.970 回答
4

typedef正在定义函数指针类型。这DEFCALL是一个预处理器宏,可以定义为指定函数使用的任何平台特定的调用约定信息。在这种情况下,它被定义为什么都没有导致编译器生成默认调用约定,通常是cdecl.

于 2013-04-02T20:57:30.223 回答