关闭
当前搜索:

python学习之路--hook(钩子原理和使用)

**什么是钩子** 之前有转一篇关于回调函数的文章/Mybigkid/article/details/67644490 钩子函数、注册函数、回调函数,他们的概念其实是一样的。 钩子函数,顾名思义,就是把我们自己实现的hook函数在某一时刻挂接到目标挂载点上。 1. hook函数,就是我们自...
阅读(505) 评论(0)

python学习之路--threading Lock对象

前言 多线程编程最需要注意的是两个点:1.线程同步,2.竞争资源互斥访问。同步,更多的是指线程之间的协同,比如线程B的工作依赖于线程A的结果,即线程之间具有依赖协同的关系。互斥,指的是多个线程对临界资源的访问而产生互斥的关系。这种访问的方式可以是读,也可以是写。举个简单的例子: 这里有两种工作线程,一种Producer,负责向Buffer里面放...
阅读(91) 评论(0)

python学习之路--multithreading

Starting a New Thread To spawn anotherthread, you need to call following method available in thread module: thread.start_new_thread(function, args[, kwargs]) 这种方法调用可以快速有效地在Linux和Windows中创建新的线...
阅读(174) 评论(0)

python学习之路--numbers

Numberstype int   (10,100) long (5167466L) float (12.5) complex (12.8-3.14j) a = 10 b = 12.5 c = 5147638L d = 5.1 - 3.14j print type(a) print type(b) print type(c) print type(d) 结果: type 'int'>...
阅读(126) 评论(0)

python学习之路--内存管理

1.python内存管理基础 origin_dict = {'a': 1, 'b': [1, 2, 3, 4]} origin_dict_copy = {} print "oringin_dict:", origin_dict origin_dict_copy['key1'] = origin_dict origin_dict_copy['key2'] = origin_di...
阅读(122) 评论(0)

linux之iptables基础知识

iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置 iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工 作原理,你会发现其实它很简单。  首先介绍iptables的结构:iptables -> Tables -> Cha...
阅读(154) 评论(0)

实模式和保护模式

80386开始,CPU有三种工作方式:实模式,保护模式和虚拟8086模式。只有在刚刚启动的时候是real-mode,等到操作系统运行起来以后就切换到protected-mode。实模式只能访问地址在1M以下的内存称为常规内存,我们把地址在1M 以上的内存称为扩展内存。在保护模式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间; 扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅...
阅读(258) 评论(0)

Linux内核源码-boot下的汇编代码分析(Linux0.11)

一.引导程序 引导程序:负责把系统引导进内存的程序,它的工作就是为了能让系统能成功的跑起来。计算机加电自检,BIOS负责把硬盘上的第一个扇区的内容加载进内存的0x007c00位置(最开始运行的启动代码,由bootsect.s生成的二进制代码)。如果没有引导程序,BIOS直接将系统加载进内存,那就意味着你的系统代码只有512字节(一个扇区大小)。引导程序运行是在实模式下,要想系统运行在保护模式下,...
阅读(482) 评论(0)

c语言中全局变量、局部变量、静态全局变量和静态局部变量的区别

1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种: 全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。 从作用域看: 1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。 2>静态局部变量具有局部作用域...
阅读(185) 评论(0)

Linux内核源码中的likely和unlikely

ikely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢? 首先明确: if (likely(value))等价于if (value) if (likely(a>b)) { fun1(); if (unlikely(value))等价于if (value) 也就是说likely()和unlikely()从阅读和理解的角度是一样...
阅读(213) 评论(0)

c函数指针和回调函数

函数指针 函数指针是指向函数的指针变量。 通常我们说的指针变量是指向一个整型变、字符型或数组等变量,而函数指针是指向函数。 函数指针可以像一般函数一样,用于调用函数、传递参数。 函数指针变量的声明: typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针变量 实例 以下实例声明了函数指针变量 p,指向函数...
阅读(218) 评论(0)

对《基于车路协同的紧急车辆优先通行系统》的分析介绍

前言篇      以前也没有正经的写过一篇博客,想了很久,决定把本科期间做过的一个项目以及在做项目过程中的一些经历与大家分享一下。记得当时是大二下学期,我和班上另外4个同学想参加学校的校创新项目,于是找了ITS的老师来指导我们,并且选定了一个题目:《基于车路协同的优先通行系统》。当时我们5个人都是热情高涨、信心满满,把国内外做这个或者与其相关的论文都读了一遍,研究别人的算法(当然大部分的都没...
阅读(643) 评论(0)

基于树莓派3B+,一个可以遥控的小车(一)

一、树莓派端口驱动 用树莓派的8个端口驱动小车的四个电机(一个电机两根线),首先修改DTS(Device Tree Source)文件(bcm2708_common.dtsi,bcm2710-rpi-3-b.dts),在对应的DTS文件中加入car节点,该节点定义了具体使用树莓派的哪8个端口和一些状态信息。(该节点定义基于GPIO子系统),具体如下: 在...
阅读(2335) 评论(0)

Linux内核RCU机制详解

简介         RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。这样在同一时间可以有多个线程同时读取该链表,并且允许一个线程对链表进行修改(修改的时候,需要加锁)。RCU适用于需要频繁的读取数据,而相...
阅读(216) 评论(0)
    个人资料
    • 访问:5729次
    • 积分:156
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:6篇
    • 译文:0篇
    • 评论:0条