程序中有用open打开dev下面的一个文件,但是这个文件并不存在

可以在dev下随便建一个吗,需要考虑类型是c还是b,以及主设备号,次设备号吗?应该怎么建

并不可以随便创建,需要根据对应的驱动来创建,一般在驱动中有指定主设备号和次设备号。
你可以通过以下方式查看:

lsmod 能够显示驱动的大小以及被谁使用

cat /proc/modules 能够显示驱动模块大小、在内核空间中的地址

cat /proc/devices 只显示驱动的主设备号,且是分类显示

/sys/modules 下面存在对应的驱动的目录,目录下包含驱动的分段信息等等。

![图片说明](https://img-ask.csdn.net/upload/201706/07/1496802671_209425.png)图片说明
/dev下面的东西都需要驱动吧,但是他们和/sys/modules下面的驱动是对应关系吗,好像数量和名称都不符啊,能解释一下吗,谢谢

图片说明