当前位置: 首页 > news >正文

为什么现在建设银行要下载网站激活码交友网站有哪些

为什么现在建设银行要下载网站激活码,交友网站有哪些,网站策划方案 优帮云,京东的网站是怎么建设的文章目录一、代码分析:二、源码一、代码分析: 在内核中由于代码文件多,避免函数名重复,使用static将函数的作用域限制在该文件内 内核的打印函数printk和printf类似 file_operations结构体使用符号“ . ”指定参数,省…

文章目录

  • 一、代码分析:
  • 二、源码

一、代码分析:

  • 在内核中由于代码文件多,避免函数名重复,使用static将函数的作用域限制在该文件内

  • 内核的打印函数printk和printf类似

  • file_operations结构体使用符号“ . ”指定参数,省去不需要的参数

  • pin4_drv_init初始化函数:
    MKDEV根据主设备号、次设备号创建设备号
    register_chrdev 注册驱动,将驱动加入到内核驱动链表中
    class_create 创建设备类
    device_create 创建设备文件

  • pin4_drv_exit 删除函数:
    device_destroy 删除设备文件
    class_destroy 删除设备类
    unregister_chrdev 卸载驱动

  • 内核的入口:module_init调用pin4_drv_init初始化函数

二、源码

驱动源码:

#include <linux/fs.h>		 //file_operations声明
#include <linux/module.h>    //module_init  module_exit声明
#include <linux/init.h>      //__init  __exit 宏定义声明
#include <linux/device.h>	 //class  devise声明
#include <linux/uaccess.h>   //copy_from_user 的头文件
#include <linux/types.h>     //设备号  dev_t 类型声明
#include <asm/io.h>          //ioremap iounmap的头文件static struct class *pin4_class;  
static struct device *pin4_class_dev;static dev_t devno;                //设备号
static int major =231;  		   //主设备号
static int minor =0;			   //次设备号
static char *module_name="pin4";   //模块名//led_open函数
static int pin4_open(struct inode *inode,struct file *file)
{printk("pin4_open\n");  //内核的打印函数和printf类似return 0;
}//led_write函数
static ssize_t pin4_write(struct file *file,const char __user *buf,size_t count, loff_t *ppos)
{printk("pin4_write\n"); return 0;
}//led_read函数
static int pin4_read(struct file *file,char __user *buf,size_t count, loff_t *ppos)
{printk("pin4_read\n"); return 0;
}static struct file_operations pin4_fops = {.owner = THIS_MODULE,.open  = pin4_open,.write = pin4_write,.read  = pin4_read,
};int __init pin4_drv_init(void)   
{int ret;devno = MKDEV(major,minor);  //创建设备号ret   = register_chrdev(major, module_name,&pin4_fops);  //注册驱动  告诉内核,把这个驱动加入到内核驱动的链表中pin4_class=class_create(THIS_MODULE,"myfirstdemo");      //创建设备类pin4_class_dev =device_create(pin4_class,NULL,devno,NULL,module_name);  //创建设备文件return 0;
}void __exit pin4_drv_exit(void)
{device_destroy(pin4_class,devno);class_destroy(pin4_class);unregister_chrdev(major, module_name);  //卸载驱动}module_init(pin4_drv_init);  //入口
module_exit(pin4_drv_exit);
MODULE_LICENSE("GPL v2");

测试程序源码:

  • 测试程序由于要放在树莓派ARM下运行,故需在Ubuntu下使用交叉编译工具进行编译,再通过scp命令传输给树莓派
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
int main(int argc, char const *argv[])
{int fd = open("/dev/pin4",O_RDWR);if(fd < 0 ){printf("open failed\n");error("reason:");}else{printf("open success\n");}fd = write(fd,'1',1);return 0;
}
http://www.laogonggong.com/news/2963.html

相关文章:

  • 企业类网站模板西安网站seo哪家公司好
  • 汽修厂做网站有什么好处今天宣布疫情最新消息
  • 网站开发量计算百度搜索引擎优化的养成良好心态
  • 现在哪个网站做网站好腾讯体育nba
  • 网站策划与建设阶段的推广搜索关键词的工具
  • 网站推广要点免费网络推广方式
  • 福州专业网站搭建排名网上营销怎么做
  • wordpress主题手机版seo服务是什么
  • 深圳公司网站建设服务为先精准营销包括哪几个方面
  • 做网站都能用什么做百度关键词的费用是多少
  • 站长之家是干嘛的网络营销带来的效果
  • 甘肃疫情最新资讯视频优化是什么意思
  • 密山网站建设北京培训seo哪个好
  • 在360网站上怎么做推广友情链接也称为
  • 字节跳动员工人数2021seo技术博客
  • 沈阳网络维护公司湖南seo推广系统
  • 佛山网站开发海外营销方案
  • 网络工程师可能自学吗郑州见效果付费优化公司
  • 北京知名网站设计公司百度竞价广告怎么投放
  • 阳江优化网站排名一台电脑赚钱的门路
  • 做网站公司 深圳信科百度ocpc怎么优化
  • 永康网站建设优化建站网站优化 推广
  • 织梦中英网站怎么做阿里网站seo
  • html5 css3网站实例设计报告宁波好的seo外包公司
  • 高碑店住房和城乡建设局网站百度搜索浏览器
  • 教育部两学一做网站徐州seo招聘
  • 东莞建设局网站搜索引擎官网
  • 网站备案截图百度数据分析
  • 网站建设工期安排表网络广告的形式有哪些
  • 汕头建设免费网站国外免费建站网站