【发布时间】:2020-02-02 12:36:10
【问题描述】:
在 MacOSX10.14 的 /usr/include/dirent.h 文件中,我看到了这一行:
struct _telldir; /* forward reference */
在同一个文件中使用了标识符:
struct _telldir *__dd_td;
包含文件中没有其他地方定义了_telldir,但在同一个文件中声明了函数telldir:
long telldir(DIR *) __DARWIN_ALIAS_I(telldir);
我看到 __DARWIN_ALIAS_I 宏被定义为
#define __DARWIN_ALIAS_I(sym) __asm("_" __STRING(sym) __DARWIN_SUF_64_BIT_INO_T __DARWIN_SUF_UNIX03)**
我知道这是“内联汇编程序”,它定义了 _telldir,但我想了解更多关于这个定义的信息。
提前致谢
【问题讨论】:
标签: macos include inline-assembly forward-reference