自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Python学习笔记 第2章 运算符与表达式

1. 3+5输出8,+号的特殊用法 'a' + 'b' 输出‘ab’2. 2*3输出6,*的特殊用法 ‘la’ *3 输出‘lalala’3. **两个剩号表示求幂4. / 带小数的除 13 / 3输出4.333333333335. // 整除 13 // 3 输出 4 向下取整数,例如 -13 // 3输出-5。C语言向0 取整,负数整除需特别注意。6. % 取余...

2019-07-18 14:49:14 272 2

原创 Python学习笔记 第1章 基础

1. python 获取帮助 例如help('print') 退出帮助q键2. 注释使用#print('hello world') #注意到print是一个函数3. 52.3E-4 其中E表示10的幂,python没有单独的long类型,int类型可以指任何大小的整数。4. 可以使用单引号和双引号指定字符串‘将我这样框进来’或‘Quote me on this’ "wha...

2019-06-25 17:53:25 2112 4

转载 Linux面试必知: 一句话讲透epoll (转)

由于作者写的实在太好,所以转过来,转发地址Linux面试必知: 一句话讲透epollLinux面试必知: 一句话讲透epollepoll概念在Linux的Man文档中,我们可以看到如下定义 Epoll - I/O event notification facility翻译一下,epoll是一种I/O事件通知机制,这句话基本上包含了所有需要理解的要点I/O事件 基...

2019-04-13 22:03:10 456

转载 epoll使用详解(精髓)

epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在li...

2019-04-13 20:56:39 263

转载 C 库函数atoi()

描述C 库函数 int atoi(const char *str) 把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。声明下面是 atoi() 函数的声明。int atoi(const char *str)参数str -- 要转换为整数的字符串。返回值该函数返回转换后的长整数,如果没有执行有效的转换,则返回零。实例下面的实例演示了 atoi...

2019-04-12 18:00:22 394

转载 linux下c语言调用shell命令的方法: system、popen、exec系列函数

1、system(执行shell 命令)相关函数 fork,execve,waitpid,popen表头文件 #include<stdlib.h>定义函数 int system(const char * string);函数说明 system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命令执行完后随即返...

2019-04-12 17:53:24 19278

转载 c库函数strcpy和strcat函数用法

1.strcpy( )函数描述C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。声明下面是 strcpy() 函数的声明。char *strcpy(char *dest, const char *src)参数dest -- 指向用于存储复制内容的目标数组。 src -- 要复制...

2019-04-12 17:25:08 6621

转载 笔记 Linux下system函数的深度理解 整理

注:从其它地方转的非常好的一篇文章,值得深究! 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为是其他的代码影响到这个,或是内核驱动文件系统什么的异常导致,昨天有出现了这个问题,就随手百了一下度,问题出现了,很多人都说system...

2019-04-11 10:26:00 378

转载 linux中fork()函数详解

一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少...

2019-04-10 22:54:31 109

原创 container_of()函数

在查看驱动代码时,经常看到container_of函数,经查资料总结如下:container_of(ptr, type,member)函数的实现包括两部分:1. 判断ptr 与 member 是否为同一类型。2. 计算size大小,结构体的起始地址 = (type *)((char *)ptr - size) (注:强转为该结构体指针)。container_of()的作用就是通...

2019-04-09 09:52:33 705

原创 c语言while循环小于0判断为true还是false?

在编程中遇到while(-1)的情况,当时以为循环为false,经查资料发现:“一般而言,所有非零值都视为真,只有0被视为假。”#include<stdio.h>int main(void){ int n = 3; while(n) printf("%2d is true\n",n--); printf("%2d is false\n"...

2019-04-02 10:01:42 4098 2

转载 Pci设备驱动1:pci设备驱动实例(realtek8168)

Realtek8168网卡时pci接口的网卡,其驱动程序就是一个PCI设备的驱动程序实例,我们一起看看其流程。1.  首先,初始化模块调用static inline int pci_register_driver(struct pci_driver *driver)函数来注册设备驱动,这个函数的参数是struct pci_driver *driver,对应于r8168,就是static s...

2018-08-25 17:55:36 383

原创 pci 配置空间

        每个PCI设备有许多地址配置的寄存器,初始化时要通过这些寄存器来配置该设备的总线地址,一旦完成配置以后,CPU就可以访问该设备的各项资源了。PCI标准规定每个设备的配置寄存器组最多可以有256个连续的字节空间,开头64个字节叫头部,分为0型(PCI设备)和1型(PCI桥)头部,头部开头16个字节是设备的类型、型号和厂商等。这些头部寄存器除了地址配置的作用,还能使CPU能够探测到相应...

2018-08-23 11:25:08 1343

原创 海思hi35xx系列驱动代码分析

hi_dev -&gt;slot_index = mk_slot_index(pdev);static int mk_slot_index(struct pci_dev *pdev){int slot_index;slot_index = pdev-&gt;bus-&gt;number;return slot_index;}所以可知slot_index为pci_dev的...

2018-08-23 09:49:19 2343

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除