当前位置: 技术问答>linux和unix
语法不解 高手进
来源: 互联网 发布时间:2016-02-18
本文导语: struct file_operations fops = { read: device_read, write: device_write, open: device_open, release: device_release } 中间的冒号 是什么意思啊? 我在网上搜的结果是 read :1 表示 read只占一位存储空间 。那现在冒号后面不是一个整数,...
struct file_operations fops = {
read: device_read,
write: device_write,
open: device_open,
release: device_release
}
中间的冒号 是什么意思啊?
我在网上搜的结果是 read :1 表示 read只占一位存储空间 。那现在冒号后面不是一个整数,而是个函数名 。
到底什么意思?
|
1.那就是说应用程序中执行read函数时,就马上去调用device_read 函数了? 是这样的吗?
===========================================================================================
说对了一半,不是马上调用device_read 函数,但最终会调到device_read 函数。
2.内核源代码中,文件夹/fs中有sys_open()函数。这个sys_open和这里的open有什么不一样?
======================================================================================
当应用程序中执行read函数时,先会调用sys_open()函数,然后会调到device_read函数,当然,其间还会执行一些其它操作的
3.内核源代码中有没有open()函数?
================================
好像是没得的,内核中文件或设备操作函数全是以sys_开头的。
===========================================================================================
说对了一半,不是马上调用device_read 函数,但最终会调到device_read 函数。
2.内核源代码中,文件夹/fs中有sys_open()函数。这个sys_open和这里的open有什么不一样?
======================================================================================
当应用程序中执行read函数时,先会调用sys_open()函数,然后会调到device_read函数,当然,其间还会执行一些其它操作的
3.内核源代码中有没有open()函数?
================================
好像是没得的,内核中文件或设备操作函数全是以sys_开头的。