LinuxC语言结构体高级用法-创新互联
话题引入
分享名称:LinuxC语言结构体高级用法-创新互联
标题链接:http://cdiso.cn/article/ceedjo.html
- 在Linux 内核中很多C语言结构体的写法是下面这样的。
- 结构体成员变量之前为什么有这么多 . ?,其实这样的写法是为了引用一个函数指针,可以看一下下面这个demo 就明白了。
#include#include#include#includestruct Demo
{int (*add)(int a,int b);
int (*sub)(int a,int b);
int (*mul)(int a,int b);
};
int test_add(int a,int b){return a+b;}
int test_sub(int a,int b){return a-b;}
int test_mul(int a,int b){return a*b;}
int main(int argc,char* argv[])
{struct Demo demo={.add=test_add,
.sub=test_sub,
.mul=test_mul,
};
int a=19;
int b=3;
printf("a+b=%d\n",demo.add(a,b));
printf("a-b=%d\n",demo.sub(a,b));
printf("a*b=%d\n",demo.mul(a,b));
return 0;
}
设备文件基本概念- 普通文件可以通过文件名与实际的存储数据进行关联
- 设备文件通过设备节点与具体的物理设备进行关联
- 设备号:主设备号+次设备号组成
- 设备文件存在于/dev/目录下
- 设备节点可以自动创建、也可以手工创建
查看内核版本:uname -r -a
dsp设备在Linux 内核2.6 版本中有,在最新的Linux内核中,没有。
343c409c-03cd-4a54-b20e-8bdfff1219cd
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享名称:LinuxC语言结构体高级用法-创新互联
标题链接:http://cdiso.cn/article/ceedjo.html