自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C使用递归实现前N个元素的和

递归函数,也就是不断的调用自身的函数,使用递归能够比较方便的解决一些比较难使用循环解决的问题。就在这个例子中,求一个数组a[]的前n项和,也就是求a[n-1]+a[n-2]+…+a[0],那么如果一个函数sum是用来求数组前n项和的,sum定义为sum(int a[],int n),则使用递归的方式就是 a[n-1]+sum(a,n-1)。使用代码来表述可能更好一些:#include <stdio

2015-04-29 16:17:58 2364

C使用递归实现前N个元素的和

递归函数,也就是不断的调用自身的函数,使用递归能够比较方便的解决一些比较难使用循环解决的问题。就在这个例子中,求一个数组a[]的前n项和,也就是求a[n-1]+a[n-2]+…+a[0],那么如果一个函数sum是用来求数组前n项和的,sum定义为sum(int a[],int n),则使用递归的方式就是 a[n-1]+sum(a,n-1)。使用代码来表述可能更好一些:#include ...

2015-04-29 16:17:00 438

原创 STL练习2 实现插入排序,箱子排序和基数排序

使用list实现了排序的中比较简单的插入排序,箱子排序和基数排序,其中,箱子排序和基树排序只能用于数的排序,所以限制还是蛮大的,箱子排序在实际使用中基本上不使用,箱子排序是基数排序的基础,基数排序有MSD和LSD,MSD也就是从最高位开始向最低位排序,LSD也就是从最低位向最高位排序。下面附上我的实现代码://=============================================

2015-04-29 15:57:04 1213

STL练习2 实现插入排序,箱子排序和基数排序

使用list实现了排序的中比较简单的插入排序,箱子排序和基数排序,其中,箱子排序和基树排序只能用于数的排序,所以限制还是蛮大的,箱子排序在实际使用中基本上不使用,箱子排序是基数排序的基础,基数排序有MSD和LSD,MSD也就是从最高位开始向最低位排序,LSD也就是从最低位向最高位排序。下面附上我的实现代码://=======================================...

2015-04-29 15:57:00 180

原创 C判断一个正整数n的d进制数是否是回文数

所有的有关于回文数的定义和如何判断一个n的d进制数是否是回文数的方法都在我的代码注释当中,直接上代码:#include <stdio.h>int circle(int n,int d);/** * @brief main 判断正整数n的d进制表示是否是回文数 * @return */int main(void){ /** * 回文数,就是顺着看和倒着看相同的书,例如n=

2015-04-26 03:48:22 3075

C判断一个正整数n的d进制数是否是回文数

所有的有关于回文数的定义和如何判断一个n的d进制数是否是回文数的方法都在我的代码注释当中,直接上代码:#include &lt;stdio.h&gt;int circle(int n,int d);/** * @brief main 判断正整数n的d进制表示是否是回文数 * @return */int main(void){ /** * 回文数,就是顺着...

2015-04-26 03:48:00 221

原创 Type enforcement(类型强制访问控制)

(一)、简介在SELinux中,所有的访问都要被明确的同意。SELinux默认的是没有访问,不管Linux的用户ID和组ID是什么。是的,这就意味着在SELinux中没有默认的超级用户,不像在标准Linux中的root用户。被同意的访问的方式是由主体的类型(也就是域)和客体的类型使用一个allow规则指定的。一个allow规则有四个元素: 1:source type(s),通常是尝试访问的

2015-04-25 16:18:05 1866

Type enforcement(类型强制访问控制)

(一)、简介在SELinux中,所有的访问都要被明确的同意。SELinux默认的是没有访问,不管Linux的用户ID和组ID是什么。是的,这就意味着在SELinux中没有默认的超级用户,不像在标准Linux中的root用户。被同意的访问的方式是由主体的类型(也就是域)和客体的类型使用一个allow规则指定的。一个allow规则有四个元素: 1:source type(s),通常是尝...

2015-04-25 16:18:00 247

原创 C实现任意进制数的转化

该实例要求使用C实现一个无符号整数到[2,16]进制数的转换。这个还是比较好想的,就是对该无符号整数不断的斤进制数d取余数,取商,一直做这样的运算,直到商为0为止,将所有的余数按照从后往前的顺序穿起来,就是转换后的进制数。下面上我的代码:#include <stdio.h>/** 用于声明char数组的长度 **/#define M (sizeof(unsigned int) * 8)int tr

2015-04-24 14:19:47 5535

C实现任意进制数的转化

该实例要求使用C实现一个无符号整数到[2,16]进制数的转换。这个还是比较好想的,就是对该无符号整数不断的斤进制数d取余数,取商,一直做这样的运算,直到商为0为止,将所有的余数按照从后往前的顺序穿起来,就是转换后的进制数。下面上我的代码:#include &lt;stdio.h&gt;/** 用于声明char数组的长度 **/#define M (sizeof(unsigned i...

2015-04-24 14:19:00 238

原创 C实现数组中元素的排序

使用C实现数组中元素的排序,使得数组中的元素从小到大排列。只不过在这个过程中出了一点小问题,在C中进行数字交换的时候,必须要使用指针的,不能使用引用。在后面的文章中,我要学习一个在C中的引用和指针的区别。下面看一下我的代码吧。#include <stdio.h>void swap(int *a,int *b);void rest(int lels[],int count);/** * 该实例用于

2015-04-24 02:03:59 2425 7

C实现数组中元素的排序

使用C实现数组中元素的排序,使得数组中的元素从小到大排列。只不过在这个过程中出了一点小问题,在C中进行数字交换的时候,必须要使用指针的,不能使用引用。在后面的文章中,我要学习一个在C中的引用和指针的区别。下面看一下我的代码吧。#include &lt;stdio.h&gt;void swap(int *a,int *b);void rest(int lels[],int count);...

2015-04-24 02:03:00 186

原创 安全上下文

(一)、类型强制策略的安全上下文 所有的操作系统访问控制都是基于与主体和客体相关的访问控制属性的。在SELinux中,访问控制属性杯称作安全上下文。所有的客体(文件,进程间通信,通信管道,套接字,网络主机等)和主体(进程)有一个和他们相关的单一安全上下文。一个安全上下文有三个元素:用户,角色和类型标识符。指定和显示一个安全上下文常用的格式如下:用户(user):角色(role):类型标识符

2015-04-21 21:05:23 2791

安全上下文

(一)、类型强制策略的安全上下文 所有的操作系统访问控制都是基于与主体和客体相关的访问控制属性的。在SELinux中,访问控制属性杯称作安全上下文。所有的客体(文件,进程间通信,通信管道,套接字,网络主机等)和主体(进程)有一个和他们相关的单一安全上下文。一个安全上下文有三个元素:用户,角色和类型标识符。指定和显示一个安全上下文常用的格式如下:用户(user):角色(role):类...

2015-04-21 21:05:00 419

原创 selinux第一节

(一):selinux简介selinux是security enhancement linux的简称,从字面意思说就是安全增强型linux,这种增强能够有效的减轻 有缺陷的应用软件所出现的问题,包括那些没有被发现的或者是被创建的缺陷。同时,这种增强也能够强化很多安全 目标,从数据保密到应用集成来提高其健壮性。(二):DAC和MAC1): 在早期的操作系统中几乎是没有安全方面的考虑的,用户可以只要

2015-04-21 16:34:39 1143

selinux第一节

(一):selinux简介selinux是security enhancement linux的简称,从字面意思说就是安全增强型linux,这种增强能够有效的减轻 有缺陷的应用软件所出现的问题,包括那些没有被发现的或者是被创建的缺陷。同时,这种增强也能够强化很多安全 目标,从数据保密到应用集成来提高其健壮性。(二):DAC和MAC1): 在早期的操作系统中几乎是没有安全方面的考虑...

2015-04-21 16:34:00 183

原创 黑盒测试及其实例

(一):黑盒测试 黑盒测试是指对程序功能性的测试,也就是不考虑内部的具体实现,仅仅就程序的功能是否满足需求进行测试,相当于一个看不见内部的黑盒子。(二):黑盒测试的作用 黑盒测试主要是注重功能的测试,包括: 功能的完整性,正确性测试 界面错误 输入和输出错误 数据库访问错误 性能错误 初始化和停止错误等等(三):黑盒测试

2015-04-20 19:36:45 26238 1

黑盒测试及其实例

(一):黑盒测试 黑盒测试是指对程序功能性的测试,也就是不考虑内部的具体实现,仅仅就程序的功能是否满足需求进行测试,相当于一个看不见内部的黑盒子。(二):黑盒测试的作用 黑盒测试主要是注重功能的测试,包括: 功能的完整性,正确性测试 界面错误 输入和输出错误 数据库访问错误 性能错误 初始化和停止错误等等(三...

2015-04-20 19:36:00 2708 1

原创 C实现万年历

要求:输入年份输出这一年的日历 注意:公元1900年一月一日是星期一,这一年是平年 思路:获取输入的年份y,首先获取从公元1900年到(y-1)年 的天数,然后获得该年份的第一天是星期几,进行输出。这次实例,我花费了很长的时间,最后发现错误的原因出在在求某一年是闰年还是平年的时候,我没有田间return语句,也就是没有返回值,真是醉了。我感觉这次我写代码的时候一点感觉都没有。哎,真是的,一颗老

2015-04-20 01:43:18 4733 6

C实现万年历

要求:输入年份输出这一年的日历 注意:公元1900年一月一日是星期一,这一年是平年 思路:获取输入的年份y,首先获取从公元1900年到(y-1)年 的天数,然后获得该年份的第一天是星期几,进行输出。这次实例,我花费了很长的时间,最后发现错误的原因出在在求某一年是闰年还是平年的时候,我没有田间return语句,也就是没有返回值,真是醉了。我感觉这次我写代码的时候一点感觉都没有。哎,真...

2015-04-20 01:43:00 262

原创 不使用sizeof求一个变量的大小

之前在腾讯实习生笔试的时候,遇到一个问题,当时一点思路也没有,现在想了想,找了一些资料,大体上明白了应该如何去做。 问题是: 使用C实现求一个变量的大小,不使用sizeof。首先我先把我的代码贴上:#define size(x) ((char*)(&x+1)-(char*)(&x))该宏定义就实现了刚刚的需求。 首先,我们知道,char是占用一个字节的大小,我们得到一个变量之后,先取其引用,即

2015-04-19 16:14:27 1685

不使用sizeof求一个变量的大小

之前在腾讯实习生笔试的时候,遇到一个问题,当时一点思路也没有,现在想了想,找了一些资料,大体上明白了应该如何去做。 问题是: 使用C实现求一个变量的大小,不使用sizeof。首先我先把我的代码贴上:#define size(x) ((char*)(&amp;x+1)-(char*)(&amp;x))该宏定义就实现了刚刚的需求。 首先,我们知道,char是占用一个字节的大小,...

2015-04-19 16:14:00 213

原创 STL中deque,queue,stack,list的学习

(一):要点1:容器deque的使用方法 2:容器queue,stack的使用方法 3:容器list的使用方法(二)deque1:deque简介deque是“double-ended queue”的缩写,deque是双端的,vector是单端的。 deque在接口上和vector相似,在许多操作的地方可以直接替换 deque可以随机存取元素,支持索引值直接存取,使用[]或者是at()方法

2015-04-19 02:06:21 1836

STL中deque,queue,stack,list的学习

(一):要点1:容器deque的使用方法 2:容器queue,stack的使用方法 3:容器list的使用方法(二)deque1:deque简介deque是“double-ended queue”的缩写,deque是双端的,vector是单端的。 deque在接口上和vector相似,在许多操作的地方可以直接替换 deque可以随机存取元素,支持索引值直接存取,使用[]或...

2015-04-19 02:06:00 238

原创 types.h头文件学习

types.h头文件纵观,就可以看出是对一些数据类型的重命名或者是定义,以及对DMA通用地址的定义以及其64为的特性。下面是types.h头文件的源代码,主要的学习内容都在注释当中。#ifndef _I386_TYPES_H#define _I386_TYPES_H#ifndef __ASSEMBLY__/** * 纵观这个头文件,发现该头文件主要是用来给 * 定义类型以及给类型重新命名的

2015-04-18 22:39:39 3920 1

types.h头文件学习

types.h头文件纵观,就可以看出是对一些数据类型的重命名或者是定义,以及对DMA通用地址的定义以及其64为的特性。下面是types.h头文件的源代码,主要的学习内容都在注释当中。#ifndef _I386_TYPES_H#define _I386_TYPES_H#ifndef __ASSEMBLY__/** * 纵观这个头文件,发现该头文件主要是用来给 * 定义类型以及...

2015-04-18 22:39:00 663

原创 byteorder.h学习

在typeorder.h头文件中,主要定义了下面几个函数,__u32 ___arch__swab32(__u32 val),___arch__swab64(__u64 val);这两个函数的含义基本上是将32位寄存器中的字节次序变反,将64位寄存器中的字节次序变反。 举个列子,有一个以16进制表示的32位变量,a=0x12345678;其中由于其是十六进制的,所以12占一个字节,34占一个字节,5

2015-04-18 22:38:19 1688

byteorder.h学习

在typeorder.h头文件中,主要定义了下面几个函数,__u32 ___arch__swab32(__u32 val),___arch__swab64(__u64 val);这两个函数的含义基本上是将32位寄存器中的字节次序变反,将64位寄存器中的字节次序变反。 举个列子,有一个以16进制表示的32位变量,a=0x12345678;其中由于其是十六进制的,所以12占一个字节,34占一个字节...

2015-04-18 22:38:00 243

原创 STL vector练习

由于上一节学习了STL的使用,特别学习了vector的学习,所以在这里需要去回顾练习一下。下面是我的代码,我是用vector容器,实现了冒泡排序,选择排序和快速排序。特别的,在最后着重学习一个快速排序的原理。(一):vector练习,实现几个排序算法//================================// Name : VectorTest.cpp// Author

2015-04-18 20:25:53 1133

STL vector练习

由于上一节学习了STL的使用,特别学习了vector的学习,所以在这里需要去回顾练习一下。下面是我的代码,我是用vector容器,实现了冒泡排序,选择排序和快速排序。特别的,在最后着重学习一个快速排序的原理。(一):vector练习,实现几个排序算法//================================// Name : VectorTest.cpp/...

2015-04-18 20:25:00 226

原创 利用数组求前n个质数

我的算法思想和实现方式都在代码和注释当中呢,这样的方式确实使算法复杂度降低一个等级,很好啊。#include <stdio.h>#include <time.h>/** * 利用数组求前n个质数 * 确定一个数m是否为质数,可以用已求出的质数对m * 的整除性来确定 *///如果不知道质数的特性和想不到优化思路的方法void getNPrimes_normal();//优化之后的方法v

2015-04-18 02:58:31 2817

利用数组求前n个质数

我的算法思想和实现方式都在代码和注释当中呢,这样的方式确实使算法复杂度降低一个等级,很好啊。#include &lt;stdio.h&gt;#include &lt;time.h&gt;/** * 利用数组求前n个质数 * 确定一个数m是否为质数,可以用已求出的质数对m * 的整除性来确定 *///如果不知道质数的特性和想不到优化思路的方法void getNPrimes_...

2015-04-18 02:58:00 593

原创 C二维数组练习

这次实例的要求是:* 在n行n列的二维整数数组中,* 按照以下要求选出两个数。 * 首先从每行中选出最大数,在从选出的n个最大数中选出最小数;* * 其次,从每行选出最小数,再从选出的n个小数中选出最大数。*下面就是我的代码,在注释中可以看到我的想法:#include <stdio.h>/** * 实例要求: * 在n行n列的二维整数数组中, * 按照以下要求选出两个数。 * 首

2015-04-17 23:29:28 2167

C二维数组练习

这次实例的要求是:* 在n行n列的二维整数数组中,* 按照以下要求选出两个数。 * 首先从每行中选出最大数,在从选出的n个最大数中选出最小数;* * 其次,从每行选出最小数,再从选出的n个小数中选出最大数。*下面就是我的代码,在注释中可以看到我的想法:#include &lt;stdio.h&gt;/** * 实例要求: * 在n行n列的二维整数数组中, * 按照以下要...

2015-04-17 23:29:00 372

原创 GCC内联汇编

GCC,linux的GNU C编译器使用AT&T/UNIX汇编语法。 (一):AT&T汇编和intel汇编的不同 1:前缀 在intel语法中,寄存器和立即数都没有前缀,而在AT&T中,寄存器使用前缀“%”,而立即数前面使用前缀“$”; 在intel语法中,十六进制和二进制立即数后面缀以”h”和“b”,但在AT&T语法中,在前面缀以”0x”, 2:操作数的方向不同 AT&T和intel汇

2015-04-17 21:53:47 3232

GCC内联汇编

GCC,linux的GNU C编译器使用AT&amp;T/UNIX汇编语法。 (一):AT&amp;T汇编和intel汇编的不同 1:前缀 在intel语法中,寄存器和立即数都没有前缀,而在AT&amp;T中,寄存器使用前缀“%”,而立即数前面使用前缀“$”; 在intel语法中,十六进制和二进制立即数后面缀以”h”和“b”,但在AT&amp;T语法中,在前面缀以”0x”, 2:操作数的...

2015-04-17 21:53:00 373

原创 proc文件系统

proc文件系统是一个虚拟的文件系统,用使用man proc命令上对proc的描述来说就是一个伪文件系统,它提供了一些内核数据结构的接口。通常该文件系统被挂载在/proc目录下,通常情况下他是只读的,但是一些文件也允许一些内核变量去修改。下面我列举几个例子://获取CPU的信息cat /proc/couinfo这里是我的一些输出: //获取内存信息cat /proc/meminfo下面是输出:

2015-04-17 14:45:51 1254

proc文件系统

proc文件系统是一个虚拟的文件系统,用使用man proc命令上对proc的描述来说就是一个伪文件系统,它提供了一些内核数据结构的接口。通常该文件系统被挂载在/proc目录下,通常情况下他是只读的,但是一些文件也允许一些内核变量去修改。下面我列举几个例子://获取CPU的信息cat /proc/couinfo这里是我的一些输出: //获取内存信息cat /proc/me...

2015-04-17 14:45:00 195

原创 内核bug.h以及GCC内联汇编的学习

所有的学习的内容都在注释当中,我的学习过程是,看到这个代码段之后,将其中需要的只是去大体的学习一遍。争取能够做到理解整体的部分。 下面展示出我的学习的代码:#ifndef _I386_BUG_H#define _I386_BUG_H/* * Tell the user there is some problem. * 告诉用户出现了一些问题 * The offending file an

2015-04-17 14:02:08 1315

内核bug.h以及GCC内联汇编的学习

所有的学习的内容都在注释当中,我的学习过程是,看到这个代码段之后,将其中需要的只是去大体的学习一遍。争取能够做到理解整体的部分。 下面展示出我的学习的代码:#ifndef _I386_BUG_H#define _I386_BUG_H/* * Tell the user there is some problem. * 告诉用户出现了一些问题 * The offending...

2015-04-17 14:02:00 247

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关注的人

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