自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux定时器

定时器的实现优先队列实现定时器TimingWheelreferencehttps://www.ibm.com/developerworks/cn/linux/l-cn-timers/https://www.cnblogs.com/zhanggaofeng/p/9410639.html定时器是各类开源项目中很重要的一个组件,可用于定时执行一些更新、清理等任务。本文介绍两种定时器的实现方式...

2019-06-09 17:00:50 196

原创 Linux 编程: 线程

在Linux中,线程的实现是基于POSIX标准的,所以都是以pthread开头。如同进程的pid一样,线程也有一个类似的值来标示一个线程: pthread_t,不过值得注意的是,进程的pid是整个系统都可见可用的,但是pthread_t只是在本进程中有效。不过pthread_t到底是个什么类型呢,它从何而来呢? 这其实要根据系统的不同来确定pthread_t 到底是个整数值还是一个地址值,

2016-10-15 13:22:27 290

转载 n个骰子个点数和出现的概率- 动态规划

题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。声明思想非原创!只因动态规划思想的使用很好,记下!分析:动态规划就是分阶段考虑问题,给出变量,找出相邻阶段间的关系。具体定义给忘了。1.现在变量有:骰子个数,点数和。当有k个骰子,点数和为n时,出现次数记为f(k,n)。那与k-1个骰子阶段之间的关系是怎样的?2.当我

2016-09-02 10:00:52 3090

原创 Unix环境编程: 信号

Table of Contents1 信号处理函数的注册2 信号的发生3 信号集合4 信号掩码5 信号挂起6 最新的sigaction7 sigsuspend(sigset_t *set)8 信号的字符串信息7. 多线程中的信号处理总结reference:https://stackoverflow.com/questions/11679568/signa...

2016-08-30 17:29:24 377

原创 Unix环境编程:进程组,会话与守护进程

进程之间的关系不仅仅是简单的父子关系,为了描述Linux上复杂的进程关系,Linux引入了进程组和会话的概念,我们今天就来讲讲这两个概念。下图表示了进程,进程组,会话的关系Session一个进程可以通过调用pid_t setsid(void),来创建一个新的session,关于这个函数的使用有几个注意事项:--创建session的进程不能是一个进程组的leader,

2016-08-24 13:11:39 439

原创 Unix环境编程: 进程 补充篇

该篇文章作为上一篇文章的补充,重点讲述一下进程的命令行参数,环境变量,以及内存相关的内容。1. 命令行参数与环境变量1) 现在 main 函数的形式一般是这样的int main(int argc, char *argv[])main函数的参数就叫做命令行参数,这是用户在执行可执行文件时传入的参数。例如用户执行了命令 grep -i hello那么grep的main函数就会收到参

2016-08-23 17:05:25 278

原创 Unix 环境编程: 进程控制

讲述了Linux环境中的子进程管理

2016-08-22 18:11:05 411

原创 uinput的使用

Uinput是一个虚拟的设备,使得可以在用户控件处理input设备,一般来讲uinput设备文件存在于/dev/input或者/dev/input/uinput目录中。uinput的使用一. 创建合适的uinput设备1.打开uinput设备so easy, 在linux中,一切都是文件,所以按照通常的做法就是使用系统调用open()来打开uinput设备就

2016-01-08 11:33:03 3991

原创 Linux重新学习--shell--IO

输入最常用的莫过于read了, read的用法形式是: read options var1 var2 .read的行为是这样的,它会以$IFS作为分隔符,将输入进行分割并赋给各个变量,单词的个数大于变量的个数,则将剩下的内容全都赋给最后一个变量,那么有同学就要问了,如果变量的个数大于单词的个数呢? so easy, 那么剩下的变量就没有值呗!最常用的选项是 -r, (raw), 也

2015-10-16 17:22:49 313

原创 Linux重新学习--shell--正则表达式

1.常用的正则表达式常用正则表达式表达式BRE/ERE模式意义\both转义.both匹配任一单个字符,NUL和换行符除外,*both匹配在他之前的任意数目个字符^both位于正则表达式的开头才有意义,表示一行的开头$both位于正则表达式的结尾才有意义,表示一行的结

2015-09-11 15:29:10 295

原创 Linux重新学习--shell script--函数

函数嘛,地球人都知道是用来干什么的,在此只提出两点注意,1.前必须先定义它

2015-09-08 09:22:55 311

原创 Linux重新学习--shell script--控制结构

三. shell 中的控制结构任何编程语言都需要判断和循环两种控制结构,那么这两种结构在shell script中是什么样子的呢,让我们来看一下。1.判断结构判断结构分为两种 if 和 switch1)ifif thenelifthenelsefi既然提到了if, 那么就必须提到AND(&&) 与 OR(||),与C语言一样,这两运算

2015-09-07 22:04:46 286

原创 Linux重新学习--shell script--变量与运算符

在其位,谋其职。之前从来没有认真的学习过shell script,以至于每次有任务都要重新翻查手册,深感麻烦,不如此次彻底认真的学习一下,也省去了之后的很多麻烦。就以这篇文章开始吧。一.变量1.变量的赋值学习一门新的编程语言首先要搞清楚变量这个东东,在shell中,变量都是以字符串的形式来赋值的,除非有特殊的说明,并且 = 号两侧不能有空格,否则shell将会把你的变量名识别成co

2015-09-07 16:55:41 342

转载 Android自定义组件03

最近几天总是到处跑,办社保,搞体检准备入职,帮助老婆改论文,现在终于有时间静下心来继续进行Android自定义组件的学习,今天就简单的介绍一下自定义组件的最后一种方式:完全自定义组件,只有当现有的组件完全不符合项目的需求时才使用这种方式,我认为这也是最复杂的一种方式,因为不但要求我们具有开发的知识,也需要一定的审美和美工功底才能可能做出美观的组件。    原生的Button、EditTex

2015-04-11 21:15:27 428

翻译 Android 自定义组件02

前一篇讲的是组合已有的组件成为一个新的独立的组件,比较简单,今天研究了一下自定义组件的另外一种形式:对已有的组件进行修改(Modifying an Existing View Type),偷个懒,直接翻译一下Android 帮助文档。    如果原生组件与我们想要的组件已经很相似了,此时可以简单地继承原生组件并只需要重写我们想要的方法使之符合我们的需求即可。当然这些可以通过完全自定义组件(直接

2015-04-08 22:10:26 512

原创 android自定义组件 01

本系列文章主要介绍了如何实现自定义的Android组件

2015-04-02 19:56:30 368

转载 Ubuntu下解压rar文件的方法

一般通过默认安装的ubuntu是不能解压rar文件的,只有在安装了rar解压工具之后,才可以解压。其实在ubuntu下安装rar解压工具是非常简单的,只需要两个步骤就可以迅速搞定。ubuntu 下rar解压工具安装方法:压缩功能安装 sudo apt-get install rar卸载 sudo apt-get remove rar解压功能安装 sudo

2013-10-04 22:23:43 421

原创 C++ 运算符重载 类类型的转换

运算符重载1、运算符重载的格式如下:operator op(argument-list)其中op必须是有效的C++运算符如:+ - * []等下面是一个重载+的例子:#ifndef CLASS_H#define CLASS_Hclass Time{    private:        int hours;        int minutes;

2013-10-04 16:25:02 577

转载 ubuntu 10.04.4 安装拼音输入法

IBus是一个框架,支持多种输入法。 问题1:Ubuntu系统选择自带的拼音输入法是错误的,它默认无法输入中文及中文词组,请独立安装其他基于IBus的输入法问题2:Ubuntu系统自带的IBUS1.2.0版本存在bug,在使用backspace键删除字符后输入法将无法继续工作,请用PPA的第三方源将IBus升级为1.3.6及以后版本。(Ubuntu的官方软件源尚未更新到最新版本) 

2013-10-01 22:06:13 504

原创 中断 与 内核时钟

一、1、何为中断?设备驱动中用到中断的地方主要是外设硬件产生一个中断信号或者是内部软件产生的中断信号,这些中断信号会中断CPU的执行,CPU保留现场并跳转到中断处理函数处执行,执行完毕后恢复现场。根据中断入口的跳转方法不同,分为向量中断和非向量中断。向量中断:为不同的中断提供不同的中断号,检测到中断来临时自动跳转到与该中断号对应的地址费向量中断:多个中断共享一个入口地址,进

2012-11-01 16:32:10 343

原创 ioctl的一点理解

首先明确ioctl的作用:向设备文件上写入或者读取数据时使用read()和write(),但是两者不能区别写入或读取的是控制数据还是通信状态数据等信息,这就需要用到ioctl;在设备驱动中应用ioctl函数需要在file_operation结构体中定义。设备驱动中的ioctl的形式一般为:xxx_ioctl(struct inode *inode , struct file *filp ,

2012-10-31 18:44:39 422

程序员英语,让程序员流畅阅读

程序员英语,让程序员流畅阅读

2023-10-19

空空如也

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

TA关注的人

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