libfuse 中的 hello_ll.c 是否已过时?

Is hello_ll.c in libfuse obsolete?

我正在学习如何在 example 目录中将 libfuse 与 hello_ll.c 一起使用。
hello_ll.c

但看起来使用的 API 与当前版本的 libfuse 不匹配。

例如,fuse_session_new 在这个例子中需要 4 个参数,但是在我的 /usr/include/fuse/fuse_lowlevel.h 中定义的同一个参数只需要两个参数。

struct fuse_session *fuse_session_new(struct fuse_session_ops *op, void *data);

它过时了吗?

您正在查看 FUSE for linux and looking at a header for FUSE on MacOS 的示例,或者正在查看 确实 旧保险丝版本的 header,如

  • fuse_session_new(struct fuse_session_ops *op, void *data) was in 2005 renamed to struct fuse_session *fuse_lowlevel_new(const char *opts, const struct fuse_lowlevel_ops *op, size_t op_size, void *userdata);
  • 其中 was in 2016 renamed to struct fuse_session *fuse_session_new(struct fuse_args *args, const struct fuse_lowlevel_ops *op, size_t op_size, void *userdata);.

Is hello_ll.c in libfuse obsolete?

不,不是。