如何解决内核编程和奇怪的结构
在linux/fs.h
中,我发现了一个奇怪的结构file_operations
:
struct file_operations fops = {
read: device_read,write: device_write,open: device_open,release: device_release
};
我的问题是这种赋予价值的名称是什么?
解决方法
来自 https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html
2.4.2.3初始化结构成员
初始化成员的另一种方法是指定名称 成员进行初始化。这样,您可以初始化任何成员 排序,甚至不进行初始化。有 您可以使用两种方法。第一种方法在C99和 作为GCC中的C89扩展:
struct point first_point = { .y = 10,.x = 5 };
您也可以省略 句点,并使用冒号代替“ =”,尽管这是GNU C 扩展名:
struct point first_point = { y: 10,x: 5 };
所以这等同于
struct file_operations fops = {
.read = device_read,.write = device_write,.open = device_open,.release = device_release
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。