环境
- RT-Thread 4.1.0
- Keil MDK5
- RT-Thread Studio
DFS_USING_POSIX
- RT-Thread 前面的版本:使用头文件:
dfs_posix.h
,新版本,这个头文件不存在了 - 经过全局的搜索,发现新版本的RT-Thread,如RT-Thread 4.1.0,需要使用:
unistd.h
- 仔细看了下代码,推荐使用的替代方法为:
#ifdef DFS_USING_POSIX
#include <unistd.h>
#include <fcntl.h>
#endif /* DFS_USING_POSIX */
fcntl.h
- 这个里面,有我们熟悉的:
open
,fcntl
类似于 ioctl
int open(const char *file, int flags, ...);
int fcntl(int fildes, int cmd, ...);
int creat(const char *path, mode_t mode);
unistd.h
- 这个文件的函数比较的多,除了上面的
open
外,其他的都有了,也就是文件操作函数声明(设备也是文件)都齐全了,如 close
read
write
lseek
等
具体实现
- RT-Thread的POSIX 接口(文件系统操作接口),实现的接口主要来自:
dfs_posix.c
这个文件,这个文件 - 如
open
调用 dfs_file_open
小结
- 可以通过全局的搜索,确认函数的组织方式,存在哪里,头文件的引用
- 可以通过头文件,找到函数的具体实现,从而揭开posix的实现方法
- 了解【函数封装】在操作系统中的作用,标准接口的实现原理