自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(351)
  • 资源 (6)
  • 问答 (2)
  • 收藏
  • 关注

进程管理(一)

(一):进程的概念​线程,是在进程中活动的对象。每个线程都拥有一个独立的程序计数器,进程栈和一组进程寄存器。内核调度的是线程而不是进程。在Linux中,进程和线程的区别比较微妙,一会我们通过源码来查看其两个的区别。进程提供两种虚拟机制,虚拟处理器和虚拟内存。其中在线程之间可以共享虚拟内存,但是每个线程都拥有各自的虚拟处理器。在linux中,创建一个进程的函数是fork(),该系统调用...

2015-06-16 01:00:00 150

原创 从内核出发

(一):内核源码的获取 ​1:通过网站 https://www.kernel.org/ 可以获得最新版本的内核源码,现在最新版的内核源码版本为如果想要获取之前版本的内核源码,点击进入 https://www.kernel.org/pub/ 进入分支。在《linux内核的设计与实现》的这本书中,我们使用的是 内核版本 2.6.18.​2:从git中获取linux内核源码​ ​在t

2015-06-15 15:55:02 933

从内核出发

(一):内核源码的获取 ​1:通过网站 https://www.kernel.org/ 可以获得最新版本的内核源码,现在最新版的内核源码版本为如果想要获取之前版本的内核源码,点击进入 https://www.kernel.org/pub/ 进入分支。在《linux内核的设计与实现》的这本书中,我们使用的是 内核版本 2.6.18.​2:从git中获取linux内核源码​...

2015-06-15 15:55:00 173

原创 通讯录的输入输出

在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中,姓名为字符型,学号为整型或字符型,年龄为整型,性别为字符型,成绩为整型或实数型别,显然,不能使用一个数组来存放这一组数据。因为数组中各个元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言中给出了另一种构造数据类型–结构。他相当于其他高级语言中的记录。“结构”是一种构造类型,他是由若干“成员”组成的。每一个成员可

2015-06-15 10:06:02 1991

通讯录的输入输出

在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中,姓名为字符型,学号为整型或字符型,年龄为整型,性别为字符型,成绩为整型或实数型别,显然,不能使用一个数组来存放这一组数据。因为数组中各个元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言中给出了另一种构造数据类型–结构。他相当于其他高级语言中的记录。“结构”是一种构造类型,他是由若干“成员”组成的。每一...

2015-06-15 10:06:00 260

原创 C实例--判断一个字符串是否是回文数

回文是指顺读和反读内容均相同的字符串,例如”121”,”ABBA”,”X”等。本实例将编写函数判断字符串是否是回文。引入两个指针变量,开始时,两个指针分别指向字符串的首末字符,当两个指针所指字符相等时,两个指针分别向后和向前移动一个字符位置,并继续比较,直到两个指针相遇,说明该字符串是回文,如果比较过程中发现两个指针指向的字符不相等,则判断该字符串不是回文。下面是代码的实现部分:#include <

2015-06-10 09:34:17 5006

C实例--判断一个字符串是否是回文数

回文是指顺读和反读内容均相同的字符串,例如”121”,”ABBA”,”X”等。本实例将编写函数判断字符串是否是回文。引入两个指针变量,开始时,两个指针分别指向字符串的首末字符,当两个指针所指字符相等时,两个指针分别向后和向前移动一个字符位置,并继续比较,直到两个指针相遇,说明该字符串是回文,如果比较过程中发现两个指针指向的字符不相等,则判断该字符串不是回文。下面是代码的实现部分:#i...

2015-06-10 09:34:00 554

原创 C实现字符排列

用已知字符串s中的字符,生成由其中n个字符组成的所有字符的排列。设n小于字符串s的字符个数,其中s中的字符在每个排列中最多出现一次。 例如,对于s[]=”abc”,n=2,则所有字符的排列有:ba,ca,ab,cb,ac,bc。算法思想: 使用递归完成该实例。举个例子:s = “abc”,n=2则第一个perm(n,s),即perm(2,”abc”);首先需要判断w中的字符个数是否满足,n

2015-06-10 08:58:12 1540 3

C实现字符排列

用已知字符串s中的字符,生成由其中n个字符组成的所有字符的排列。设n小于字符串s的字符个数,其中s中的字符在每个排列中最多出现一次。 例如,对于s[]=”abc”,n=2,则所有字符的排列有:ba,ca,ab,cb,ac,bc。算法思想: 使用递归完成该实例。举个例子:s = “abc”,n=2则第一个perm(n,s),即perm(2,”abc”);首先需要判断w中的字符个数...

2015-06-10 08:58:00 147

原创 GTK--布局管理

这一小结,将要学习将构建布局在窗口和对话框中.为了方便的管理我们的构件,在GTK+中,通常使用不可见的构件称作layout containers. 这一小节将要讨论GtkAlignment,GtkFixed,GtkVBox,GtkTable.(一):GtkFixed 容器构建GtkFixed用于布置子构件在一个固定的位置和设定固定的大小.这种构件并不属于自动的布局关系器.实质上,在大多数应用程序

2015-06-09 22:53:47 1401

GTK--布局管理

这一小结,将要学习将构建布局在窗口和对话框中.为了方便的管理我们的构件,在GTK+中,通常使用不可见的构件称作layout containers. 这一小节将要讨论GtkAlignment,GtkFixed,GtkVBox,GtkTable.(一):GtkFixed 容器构建GtkFixed用于布置子构件在一个固定的位置和设定固定的大小.这种构件并不属于自动的布局关系器.实质上,在大多数...

2015-06-09 22:53:00 285

原创 GTK学习3--菜单栏和工具栏

通过上一小节,基本上掌握了如何向窗口中添加菜单栏以及为menu_item添加快捷键,下面我们通过一个实例来创建选择菜单选项.GtkCHeckMenuItem就是一个可以生成带有选择的菜单选项.下面看一下代码:#include <gtk/gtk.h>void toggle_statusbar(GtkWidget *widget,gpointer statusbar){ if(gtk_check

2015-06-09 15:40:55 3035

GTK学习3--菜单栏和工具栏

通过上一小节,基本上掌握了如何向窗口中添加菜单栏以及为menu_item添加快捷键,下面我们通过一个实例来创建选择菜单选项.GtkCHeckMenuItem就是一个可以生成带有选择的菜单选项.下面看一下代码:#include &lt;gtk/gtk.h&gt;void toggle_statusbar(GtkWidget *widget,gpointer statusbar){ ...

2015-06-09 15:40:00 919

转载 near指针,far指针,huge指针

near指针和far指针 在DOS下(实模式)地址是分段的,每一段的长度为64K字节,刚好是16位(二进制的十六位)。near指针的长度是16位的,所以可指向的地址范围是64K字节,通常说near指针的寻址范围是64K。far指针的长度是32位,含有一个16位的基地址和16位的偏移量,将基地址乘以16后再与偏移量相加,(所以实际上far指针是20位的长度。)即可得到far指针的1M字节的偏移量。所

2015-06-04 23:02:50 613

near指针,far指针,huge指针

near指针和far指针 在DOS下(实模式)地址是分段的,每一段的长度为64K字节,刚好是16位(二进制的十六位)。near指针的长度是16位的,所以可指向的地址范围是64K字节,通常说near指针的寻址范围是64K。far指针的长度是32位,含有一个16位的基地址和16位的偏移量,将基地址乘以16后再与偏移量相加,(所以实际上far指针是20位的长度。)即可得到far指针的1M字节...

2015-06-04 23:02:00 186

原创 typename与class的区别

我们都知道,在STL中基本上都使用了模板类的声明,即template。在模板类的声明中,我们有两种方式:template <class T>template <typename T>在这里,class和typename是相同的。也就是说,在声明一个template type parameter(模板类型参数)的时候,class和typename意味着 完全相同的东西。但是,在C++中,有的时候必

2015-06-03 23:11:26 3873

typename与class的区别

我们都知道,在STL中基本上都使用了模板类的声明,即template。在模板类的声明中,我们有两种方式:template &lt;class T&gt;template &lt;typename T&gt;在这里,class和typename是相同的。也就是说,在声明一个template type parameter(模板类型参数)的时候,class和typename意味着 完全...

2015-06-03 23:11:00 347

原创 界面的功能特色---菜单栏和工具栏

“菜单”(menubar)是GUI程序中最为常见的部分之一.各种各样的功能都能使用菜单来实现.下面这个例子生成一个含有文件菜单的菜单栏,并且文件菜单将只有一个菜单条(menu item).点击之后程序将会退出.#include <gtk/gtk.h>int main(int argc,char *argv[]){ GtkWidget *window; GtkWidget *vbo

2015-05-27 16:07:48 1832

界面的功能特色---菜单栏和工具栏

“菜单”(menubar)是GUI程序中最为常见的部分之一.各种各样的功能都能使用菜单来实现.下面这个例子生成一个含有文件菜单的菜单栏,并且文件菜单将只有一个菜单条(menu item).点击之后程序将会退出.#include &lt;gtk/gtk.h&gt;int main(int argc,char *argv[]){ GtkWidget *window; Gt...

2015-05-27 16:07:00 516

原创 C实现字符行排版

将字符行内单字之间的空白符平均分配插入到单字之间,以实现字符行排版。首先要统计字符行内单字个数,字符行内的空白字符数。然后计算单字之间 应该平均分配的空白字符数,另外约定多余的空白字符插在前面的单字间隔中前面的每个间隔多一个空白符,插完为止。下面是我的代码的实现部分,这个字符行排版代码比较简答,其中的,实现统计单词个数的方法还是值得大家学习一下的。#include <stdio.h>#define

2015-05-26 16:55:14 1718

C实现字符行排版

将字符行内单字之间的空白符平均分配插入到单字之间,以实现字符行排版。首先要统计字符行内单字个数,字符行内的空白字符数。然后计算单字之间 应该平均分配的空白字符数,另外约定多余的空白字符插在前面的单字间隔中前面的每个间隔多一个空白符,插完为止。下面是我的代码的实现部分,这个字符行排版代码比较简答,其中的,实现统计单词个数的方法还是值得大家学习一下的。#include &lt;stdio.h...

2015-05-26 16:55:00 203

原创 GTK+(2)--窗口中添加五脏六腑

在我们第一讲当中的窗口中,我们仅仅就是学习了如何使用GTK+创建一个空白的窗口,但是仅仅一个空白窗口是没有用的,我们总是需要设置窗口的属性和向窗口中添加一些子控件,包括应用程序的图标,菜单,工具栏等等内容.下面的一段程序是设置我们的窗口的一些属性,包括设置窗口的标题,窗口的大小,窗口在屏幕中的位置等等属性.下面看一下代码:#include <gtk/gtk.h>#include <stdio.h>

2015-05-22 00:04:46 1657

GTK+(2)--窗口中添加五脏六腑

在我们第一讲当中的窗口中,我们仅仅就是学习了如何使用GTK+创建一个空白的窗口,但是仅仅一个空白窗口是没有用的,我们总是需要设置窗口的属性和向窗口中添加一些子控件,包括应用程序的图标,菜单,工具栏等等内容.下面的一段程序是设置我们的窗口的一些属性,包括设置窗口的标题,窗口的大小,窗口在屏幕中的位置等等属性.下面看一下代码:#include &lt;gtk/gtk.h&gt;#inc...

2015-05-22 00:04:00 190

原创 GTK+初识---高大上的图形接口

GTK+,或者是叫做GIMP工具组件,是一套创建图形用户接口的多平台组件.GTK+提供了一套完整的组件集,同时他不仅仅适用于小型工具开发,同样也适用于一个完整的项目套件.像我们熟悉的gnome桌面,各个系统平台上的GIMP图像处理软件,VMWare工作站,以及OS X和Windows vista上的gedit文本编辑器等都是使用GTK创建的.GTK+是使用C语言写的,但是已经被设计成支持多语言的框架

2015-05-20 01:28:17 1929

GTK+初识---高大上的图形接口

GTK+,或者是叫做GIMP工具组件,是一套创建图形用户接口的多平台组件.GTK+提供了一套完整的组件集,同时他不仅仅适用于小型工具开发,同样也适用于一个完整的项目套件.像我们熟悉的gnome桌面,各个系统平台上的GIMP图像处理软件,VMWare工作站,以及OS X和Windows vista上的gedit文本编辑器等都是使用GTK创建的.GTK+是使用C语言写的,但是已经被设计成支持...

2015-05-20 01:28:00 243

原创 计算机系统的设计规则,性能评测

控制流程的三种实现方式:全硬件,软硬结合,全软件 1:逻辑上是等价的 2:硬件实现“速度快,成本高,灵活性差,占用内存少 3:软件实现,速度慢,复制费用低,灵活性好,占用内存多,容易设计,可改性强, 适应性强,设计周期短理论上,由两种极端实现方法 1:全硬件机器:操作系统,高级语言,应用等 2:硬件只有1位加法和分支操作,其他都用

2015-05-18 23:22:49 3309

计算机系统的设计规则,性能评测

控制流程的三种实现方式:全硬件,软硬结合,全软件 1:逻辑上是等价的 2:硬件实现“速度快,成本高,灵活性差,占用内存少 3:软件实现,速度慢,复制费用低,灵活性好,占用内存多,容易设计,可改性强, 适应性强,设计周期短理论上,由两种极端实现方法 1:全硬件机器:操作系统,高级语言,应用等 2:硬件只有1位加法和分支操...

2015-05-18 23:22:00 358

原创 从键盘读入实数

编制一个从键盘读入实数的函数readreal(double *rp)。函数将读入的实数字符列换成实数后,利用指针参数rp,将实数存于指针所指向的变量*rp。解析: 函数在返回之前,将最后读入的结束实数字符列的字符返还给系统,以便随后读字符时能再次读入该字符。函数若能正常读入实数,函数返回整数1,如果函数在读入过程中,未遇到数字符之前,遇到不能构成数字的情况,函数返回-1,表示为读到实数。在输入实数

2015-05-18 01:33:11 2150

从键盘读入实数

编制一个从键盘读入实数的函数readreal(double *rp)。函数将读入的实数字符列换成实数后,利用指针参数rp,将实数存于指针所指向的变量*rp。解析: 函数在返回之前,将最后读入的结束实数字符列的字符返还给系统,以便随后读字符时能再次读入该字符。函数若能正常读入实数,函数返回整数1,如果函数在读入过程中,未遇到数字符之前,遇到不能构成数字的情况,函数返回-1,表示为读到实数。...

2015-05-18 01:33:00 421

原创 计算机系统结构,组成和实现

计算机系统结构的定义:计算机系统结构是其所处环境中最高层次的概念,是对计算机系统中各个机器之间界面的划分和定义,以及对各级界面上,下的功能进行分配。也称为体系结构。计算机体系结构指的是计算机系统设计的观念和架构,描述计算机在实际中所做的设计的原则。计算机体系结构是从程序员的角度所看到的系统的属性,是概念上的结构和功能上的行为。例如: 功能特性指令系统及其执行模式:数据表示:硬件直接识别和处理的数据

2015-05-17 23:16:58 8633

计算机系统结构,组成和实现

计算机系统结构的定义:计算机系统结构是其所处环境中最高层次的概念,是对计算机系统中各个机器之间界面的划分和定义,以及对各级界面上,下的功能进行分配。也称为体系结构。计算机体系结构指的是计算机系统设计的观念和架构,描述计算机在实际中所做的设计的原则。计算机体系结构是从程序员的角度所看到的系统的属性,是概念上的结构和功能上的行为。例如: 功能特性指令系统及其执行模式:数据表示...

2015-05-17 23:16:00 1124

原创 计算机系统的多级层次结构

多级层次结构:是从使用语言的角度,基于程序员与计算机系统对话中所采用的语言结构和语义划分。现代计算机系统的层次结构分为六级:多级层次结构中(机器—语言)M5: 应用语言机器 – 应用语言 M4: 高级语言机器 – 高级语言 M3: 操作系统机器 – 作业控制语言 M2: 汇编语言机器 – 汇编语言 M1: 传统机器 – 机器指令系统 M0: 微程序机器 – 微指令系统编译与解释的区别:编

2015-05-17 23:12:43 11048

原创 yacc语法分析与lex词法分析相结合

语法对于某些应用,我们所完成的简单的词类识别也许足够用了;而另一些应用需要识别特殊的标记序列并执行适当的动作。传统上,对这样的一套动作描述成为语法。使用右箭头”->”意味着可以用一个新的符号取代一套特殊的标记。 例如:subject ->noun\pronoun 指示一个新的符号subject是名词或代词。词法分析程序和语法分析程序的通信当一起使用lex扫描程序和yacc语法分析程序的时候,语法

2015-05-17 15:32:40 3980

yacc语法分析与lex词法分析相结合

语法对于某些应用,我们所完成的简单的词类识别也许足够用了;而另一些应用需要识别特殊的标记序列并执行适当的动作。传统上,对这样的一套动作描述成为语法。使用右箭头”-&gt;”意味着可以用一个新的符号取代一套特殊的标记。 例如:subject -&gt;noun\pronoun 指示一个新的符号subject是名词或代词。词法分析程序和语法分析程序的通信当一起使用lex扫描程...

2015-05-17 15:32:00 542

原创 字符替换

编制一个字符替换函数rep(char *s,char *s1,char *s2),实现将已知字符串s中所有属于字符串s1中的字符都用字符串s2中的对应字符代替。这里使用指针实现。举个例子: char s[] = “ABCABC”;char s1[] = “AB”;char s2[] = “XY”;运行该函数之后,变为”XBYXBY”那么可以这么想,s1和s2分别位于两个数组中,从s的第一个

2015-05-16 15:42:30 1142

字符替换

编制一个字符替换函数rep(char *s,char *s1,char *s2),实现将已知字符串s中所有属于字符串s1中的字符都用字符串s2中的对应字符代替。这里使用指针实现。举个例子: char s[] = “ABCABC”;char s1[] = “AB”;char s2[] = “XY”;运行该函数之后,变为”XBYXBY”那么可以这么想,s1和s2分别位于两...

2015-05-16 15:42:00 508

原创 内核模块遍历进程和任务队列保存到proc文件中

实现一个模块用它遍历当前进程的父进程和任务队列,并将遍历的结果输出到一个proc 文件中(遍历可以从 current 当前进程开始,父进程遍历到初始化进程,遍历任务队列可以利用 for_each_process 宏)。下面是我的内核模块的实现部分:/************************************************************* 使用内核模块从当前进程

2015-05-16 10:45:10 1788

内核模块遍历进程和任务队列保存到proc文件中

实现一个模块用它遍历当前进程的父进程和任务队列,并将遍历的结果输出到一个proc 文件中(遍历可以从 current 当前进程开始,父进程遍历到初始化进程,遍历任务队列可以利用 for_each_process 宏)。下面是我的内核模块的实现部分:/************************************************************* 使用内...

2015-05-16 10:45:00 173

原创 总结

1:SELinux的访问控制是基于所有系统资源包括进程的安全上下文。安全上下文包含三个元素:用户,角色和 类型标识符。类型标识符是访问控制最关键的元素。在SELinux中,强制访问控制(TE)是访问控制主要的特征。通过指定主体的标识(也被称作域标识)作为源和 客体的标识作为目的的allow规则,能够允许主体对客体的访问。通过指定使用一系列为每一个客体类定义的权限的 客体类也可以允许访问。TE的

2015-05-15 23:02:02 793

总结

1:SELinux的访问控制是基于所有系统资源包括进程的安全上下文。安全上下文包含三个元素:用户,角色和 类型标识符。类型标识符是访问控制最关键的元素。在SELinux中,强制访问控制(TE)是访问控制主要的特征。通过指定主体的标识(也被称作域标识)作为源和 客体的标识作为目的的allow规则,能够允许主体对客体的访问。通过指定使用一系列为每一个客体类定义的权限的 客体类也可以允许访问...

2015-05-15 23:02:00 110

framebuffer绘图

该资源实现了对framebuffer进行编程在命令行界面上进行编程的实例.

2015-10-26

selinux by example

这本书通过实例讲解了selinux中的一些特性,讲解比较透彻易懂

2015-08-17

安卓市场框架搭建--3

这是进一步完成框架搭建所完成的代码,添加了首页,分类,主体,推荐等activity

2015-07-23

seandroid论文(注释版)

该文档是我的学习SEAndroid的时候加上注释之后的论文。

2015-07-17

androidMarket01

这个是和我的博客中《一步一步完成安卓市场》同步的,这个是第一个版本,小型框架的搭建。

2015-07-17

android教程

该书籍能够使读者更快的入门android开发!

2013-06-29

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

TA关注的人

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