作为一项学习练习,我使用 .NET Core interop 从 C# 调用 ftw。
只要我在回调中收到适当的文件名,它就可以正常工作。但是,我没有struct stat
正确定义。有一个该类型的 POSIX 定义,但这还不够,因为特定实现(例如我的 Ubuntu 18.04)可以自由地重新排序字段并添加新字段。
我做了以下搜索:
查找/usr-name stat.h-print
它返回了相当多的结果,并且每个文件都有多个预处理器指令。
/usr/include/linux/stat.h
定义statx
。我试过了,但是在大小等位置填充了无意义的值。这是错误的。
其中有一个/usr/include/x86_64-linux-gnu/bits/stat.h
包含预处理器指令的定义。
给定一个特定的 Ubuntu 安装,是否有办法明确确定struct stat
定义的位置以及定义了哪些预处理器指令? 如果有,怎么做?