ICode9

精准搜索请尝试: 精确搜索
  • 【转载】Linux驱动之platform总线详解2022-05-22 20:33:44

    原文地址:https://www.jb51.net/article/231922.htm   1、platform 总线简介 1.1、Linux 驱动的分离和分层思想 1.1.1、Linux 驱动的分离         先讲 Linux 驱动的分离,Linux 操作系统支持在各类 CPU 上运行,因为每一种 CPU 对设备的驱动不一样,这样就造成了 Linux 内核中积

  • 天下风云出我辈,一入江湖岁月催2022-05-22 08:31:44

    #include <iostream> #include <vector> #include <map> #include <string> #include <algorithm> using namespace std; struct person { char id[18]; char name[20]; char address[60]; char phone_num[14]; }; void pers

  • golang 空结构体 struct{}2022-05-21 23:33:30

      定义的各种姿势原生定义a := struct{}{}1struct{} 可以就认为是一种类型,a 变量就是 struct {} 类型的一种变量,地址为 runtime.zerobase ,大小为 0 ,不占内存。 重定义类型golang 使用 type 关键字定义新的类型,比如: type emptyStruct struct{}1定义出来的 emptyStruct 是新的类型,

  • 字符设备驱动开发2022-05-19 14:03:17

    本驱动笔记,都是记录宋宝华的驱动书籍,代码也是参考他的,撰写文章,主要记录学习心得 1.字符驱动,作者用globalmem这样的例子来讲解驱动。 问题1.insmod globalmem.ko驱动。如何和mknod 创建的设备绑定的。 答:通过主设备号来绑定。 问题2.insmod globalmem.ko,会失败,提示Device or resou

  • 数据结构 - 树 - 一般树和森林的基本介绍2022-05-17 12:32:30

    树的存储结构 双亲表示法 通过保存树中每个结点的双亲结点的位置,来表示树中结点之间的结构关系。 #define MAX_TREE_SIZE 100 typedef struct PTNode { ElemType data; int parent; // 双亲位置(双亲的下标) } PTNode; typedef struct { PTNode nodes[MAX_TREE_SIZE

  • go 类和继承2022-05-17 11:32:57

    类和继承 //Go通过结构体构建类 type Person struct { name string age int gender string score float64 } func (p *Person)Eat() { //类绑定方法 p.name = "hello" fmt.Println("eat") } func (p Person)Eat2() { p.name="world" fmt.Println(&

  • 双端队列(搬运)2022-05-17 07:31:06

    /**************************** 顺序表 实现双端队列 ****************************/ #define DataType int #define maxn 100005 struct Queue { DataType data[maxn<<1]; int head, tail; }; void QueueClear(struct Queue* que) { que->h

  • 队列(搬运)2022-05-17 07:00:40

    /**************************** 链表 实现队列 ****************************/ typedef int DataType; struct QueueNode; struct QueueNode { DataType data; struct QueueNode *next; }; struct Queue { struct QueueNode *head, *t

  • 05162022-05-17 01:34:52

    普通平衡树 #include <iostream> #include<cstdio> #include <algorithm> #define int long long using namespace std; const int MAXN = 1e5 + 10; struct offlineNode { int q, x; } offline[MAXN]; struct Node { int l, r, val; } T[MAXN <<

  • 进程通信---消息队列2022-05-15 14:01:59

    ## 标题队列:先进先出 对数据进行分类(存储的时候分类) 操作: 1. 创建或者获取消息队列 1. 写入或者读取数据 2. 删除消息队列 ## 标题创建或者获取消息队列:#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>int msgget(key_t key, int msgflg); 命令方式查看消息队

  • Generic Netlink内核实现分析(二):通信详解2022-05-15 11:31:08

    转载自:https://blog.csdn.net/luckyapple1028/article/details/51232582#t6 代码路径:https://github.com/luckyapple1028/demo-genetlink 前一篇博文中分析了Generic Netlink的消息结构及内核初始化流程,本文中通过一个示例程序来了解Generic Netlink在内核和应用层之间的单播通信

  • SwiftUI struct pass param without label name All In One2022-05-15 01:32:53

    SwiftUI struct pass param without label name All In One

  • (0514)芯王国-志锐-Sd卡高速控制-AXI验证2022-05-14 12:32:34

    (1)commit (2)core  (3)generate (4)struct  结构体 (5)    

  • C语言结构体的内存分配2022-05-13 17:32:29

    一、结构体内存分配原则 原则一:结构体中元素按照定义顺序存放到内存中,但并不是紧密排列。从结构体存储的首地址开始 ,每一个元素存入内存中时,它都会认为内存是以自己的宽度来划分空间的,因此元素存放的位置一定会在自己大小的整数倍上开始。 原则二: 在原则一的基础上,检查计算出

  • 结构体和指针2022-05-12 18:31:44

    1. 结构体地址: #include <stdio.h> #include <stdlib.h> #include <string.h> struct son { int money; }; struct dah { int money; }; struct father { struct son s; struct dah d; int money; }; int main(void) { struct fat

  • 时间2022-05-10 16:02:22

    时间不站在你那边 —— 艾克     1. 获取从1970年1月1号00:00:00到此刻的UTC时间 typedef uint32 time_t; time_t time_second; time(&time_second);     2. 根据秒数填充struct tm struct tm { int tm_sec; /* 秒 – 取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,5

  • C语言typedef详解2022-05-10 11:00:47

    C语言允许用户使用 typedef 关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类

  • C++基础知识测试2022-05-10 00:32:20

    1:构造函数有几种: a:默认构造函数 b:复制(拷贝)构造函数 c:初始化构造函数 d:转换构造函数 e:移动构造函数  2:赋值函数有几种 a:拷贝赋值 b:操作符“=”重载为赋值函数  3:纯虚函数不能再哪些函数内使用 a:从基类构造函数直接调用 b:从基类析构函数直接调用 c:从基类构造函

  • C语言宏与单井号(#)和双井号(##)2022-05-09 11:34:32

    C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下

  • (六)Beego控制器之获取请求参数2022-05-08 16:00:49

    web.Controller基础控制器,为我们提供了多种读取请求参数的函数,下面分别介绍各种获取参数的场景。 一、默认获取参数方式 web.Controller基础控制器为我们提供了GetXXX序列获取参数的函数, XXX指的就是返回不同的数据类型。 例子: // 处理get请求 func (this *UserController) Get()

  • C# 11 对 ref 和 struct 的改进2022-05-08 12:02:01

    前言# C# 11 中即将到来一个可以让重视性能的开发者狂喜的重量级特性,这个特性主要是围绕着一个重要底层性能设施 ref 和 struct 的一系列改进。 但是这部分的改进涉及的内容较多,不一定能在 .NET 7(C# 11)做完,因此部分内容推迟到 C# 12 也是有可能的。当然,还是很有希望能在 C# 11

  • UART串口及Linux实现2022-05-08 10:01:35

    UART,全称Universal Asynchronous Receiver Transmitter,通用异步收发器,俗称串口。作为最常用的通信接口之一,从8位单片机到64位SoC,一般都会提供UART接口。   UART的常规构成及特性 芯片内部的UART模块,一般由波特率发生器、发送和接收FIFO、硬件流控、中断源等组件构成。常见特性

  • linux高性能服务器编程---第五章Linux网络编程基础API (3)2022-05-06 16:02:58

    通用读写函数 #inclued <sys/socket.h> ssize_t recvmsg(int sockfd, struct msghdr* msg, int flags); ssize_t sendmsg(int sockfd, struct msghdr* msg, int flags); struct msghdr { /* socket address --- 指向socket地址结构变量, 对于TCP连接需要设置为NULL*/ void*

  • linux高性能服务器编程---第五章Linux网络编程基础API (4)2022-05-06 16:02:33

    以下两个函数通过读取/etc/services文件 来获取服务信息 以下内容来自维基百科 Service文件是现代操作系统在etc目录下的一个配置文件,记录网络服务名对应的端口号与协议 其用途如下 通过TCP/IP的API函数(声明在netdb.h中)直接查到网络服务名与端口号、使用协议的对应关系。如getser

  • 待办_桶排序_随机数据生成_随机数据处理_随机生成数_文章自动判断2022-05-04 22:32:48

      #include <stdio.h> //3 10 //1 2 3 2 3 1 2 3 1 3 struct { int a; }b[1111]; int main() { int m,n; scanf("%d %d",&m,&n); int i,x; for(i=1;i<=n;i++) { scanf("%d",&x);

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有