自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 early_param流程

Linux内核源码中多处会看到诸如__init,__initdata,__exitdata的关键字,大部分这样的关键字定义在include/linux/init.h头文件中,它们都会在编译连接阶段被实现处理。#define__init__section(.init.text)__coldnotrace__init标记的数据被存储在.init.text节#define__initdata__section(.init.data)__ini...

2021-03-16 23:52:03 387

原创 开源中国

http://oss.org.cn

2014-04-01 22:45:28 577

转载 虚拟地址、线性地址和物理地址的转换

虚拟地址、线性地址和物理地址的转换http://blog.chinaunix.net/uid-23208702-id-163527.html

2014-03-25 22:27:54 596

原创 linux内存相关

物理内存、虚拟内存物理内存:我们通常理解的内存条,也就是硬件给我们的实际内存。虚拟内存:理解成swap交换内存,是为了弥补物理内存空间不足而提出的策略。也就是硬盘存储区虚拟出来的一块区域,当做内存使用。当然它的读写速度肯定不能跟真正的物理内存匹敌。linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内

2014-03-22 22:22:11 602

原创 笔记——2

***无法关闭LCD电压问题描述:在LK里面,为了实现开机显示动画,LCD的IC初始化和引脚上电都放在LK里,并且打出第一张开机LOGO。问题是在这里上电以后,进入系统,机器进入睡眠状态后,LCD相关引脚电压没有关闭。问题进展:通过和高通支持的沟通,发现在LK和kernel中两种上电方式不一致,在LK里面上电后,kernel根本无法再操作。在LK中(bootable/bootloade

2014-01-17 17:11:39 1592

原创 笔记——1

-----------------------------------------1.container_of(ptr, type, member)(    {        const typeof (((struct i2c_adapter *)0)->dev) *__mptr = d; // typeof这个关键字还是第一次看到,搜索下发现,typeof就是将其包含的对象

2014-01-17 16:48:25 654

转载 解释:Alpha,Beta,RC,OEM各个版本

<br />Alpha:<br />是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。<br /> <br />Beta:<br />也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。<br /> <br />RC:(Release Candidate) <br />顾名思义么 ! 用在软件上就是候选版本。系统平台上就是发行候选版本。RC版不会再加入新的功能了,主要着重于除错。<br /> <br />RTM:(Release to Manufacture)<br /

2010-10-07 14:24:00 679

转载 【转】Ubuntu 10.10 推荐国内更新源

<br />官方的Ubuntu 10.10要保留几个用于紧急更新<br />deb http://security.Ubuntu.com/ubuntu maverick-security main restricted<br />deb-src http://security.Ubuntu.com/ubuntu maverick-security main restricted<br />deb http://security.Ubuntu.com/ubuntu maverick

2010-10-07 14:15:00 1743 1

原创 随笔(二进制字符串中1的个数)

<br />论坛上看到这个问题,结合了大家的智慧,写下这段代码,留给以后查阅!<br />/* * ===================================================================================== * * Filename: one_Number_Of_Bit_String.c * * Description: * 给定一个二进制的字符串“01010101001000101111111

2010-09-30 21:30:00 973

原创 二叉树

<br />《编程之美》上面的重建二叉树:<br />/* * ===================================================================================== * * Filename: reBuild.c * * Description: 根据前序及中序结果,重建树的根节点 * * Version: 1.0 * Created: 2010年09月

2010-09-30 19:56:00 567

原创 简单的后缀数组

<br />/* 后缀数组实现查找最大子字符串 * 时间复杂度O(nlogn),时间花费 * 主要是在后缀数组的排序上面 * 使用qsort库函数排序,内部实现 * 应该是快排的改进算法 * */#include <stdio.h>#include <stdlib.h>#include <string.h>#define NMAX 1024char str[ NMAX ]; /* 存储字符串 */char *pt[ NMAX ]; /* 存储顺序

2010-09-21 15:04:00 617

原创 线性算法解决数组最大和

<br />//问题描述:有一个数组假如A[10] = {45, 23, -67, 12, -33, -54, //23, 71, -10, 18 },现在要求出A数组中从下标i到j的子数组和最大值,//其中i,j都在[0, 10)之间,i <= j;//如上所述,A数组中的最大和应该是102,下标i = 6, j = 9;//使用线性扫描的算法,时间复杂度为O(n);#include <stdio.h>#include <stdlib.h>#include <string.h>

2010-09-20 17:44:00 1131

原创 一般系统命令

<br />***man的一般用法:<br />man -f * // 等同于whatis *, 会列出*的所有说明<br />man -k * // 通过关键字查找,会列出(包含)关键字*的所有说明<br />man -a * // 打开所有*的说明<br /><br />***shutdown的用法:<br />-h // 直接关机<br />-r // 关机并重启<br />-c // 取消正在执行的shutdown命令内容<br />-t // 后面接时间为秒<br

2010-09-18 22:34:00 543

原创 判断位&设置位

<br />/* ******************************** * 将某一个char中的第local位置为1 * *********************************/int SetBit(unsigned char *Des, int local){ const static int markbuf[ ] = { 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80 }; if ( local > 8 ) {

2010-08-21 15:14:00 855

原创 查找两字符串的最大公共子串

<br />===============================find_common_sub_string==============================<br />运用KMP算法实现查找两字符串的最大公共子串,KMP算法省略掉,在其他几篇日记里面都有!<br />void find_common_sub_string(const char *Des, const char *Src) { int ilen, inum; int flag = 0; /* 标示是否查

2010-08-21 00:47:00 2259

原创 KMP之next

<br />看了KMP的模式匹配算法,开始理解起来还是有点难,慢慢来,还在看.....<br /> <br />KMP算法中比较难的自己感觉是那个求next函数,看了下,分析了下,做个阶段性总结:<br /> <br />===============对get_next函数的对比思考===============================<br />void get_next(const char * T, int *next) { int i, j; /* 书上的i=1,因为书上的模式字

2010-08-20 10:59:00 770

原创 1000阶乘

=================1000!字符实现============================================#include #define N 10000int main(int argc, char **argv) { char data[ N ] = { '1', '0'}; int digit, i, index, carry; int tmp; for ( i = 2, digit = 0; i

2010-08-19 17:20:00 701

原创 查找字符串出现次数

=======================StrnTimes字符串出现次数================================int StrnTimes(const char *strDes, const char *strSrc) { int i, j; const char *pDes = strDes, *pSrc = strSrc; int lenSrc = 0, lenDes = 0; int times = 0; if ( strDes == NULL |

2010-08-19 17:06:00 684

原创 字符串查找strstr个人实现

=========================strstr个人实现=============================================char *Strstr(char *strSrc, const char *strDes) { int i, j; int lenSrc = 0, lenDes = 0; const char *pSrc = strSrc, *pDes = strDes; if ( strSrc == NULL || strDes =

2010-08-19 11:58:00 726

原创 排序算法

/* **************************************** * 快速排序递归实现版本:选定一个数,一般选 * low下标数据,然后将low与high下标之间的数据 * 同low数据比较,将其分为大于low的和不大于low * 的两部分,分别存放在low的前面和后面; 接着 * 又将low前后数据重复之前的操作,直到low不小于high * ****************************************/void QuickSort(S

2010-08-18 13:55:00 727

原创 ubuntu和windows双系统之【.Trash-1000】文件夹

<br />最近在安装ubuntu和windows双系统,平时都只是玩ubuntu系统,开机就进ubuntu,很少玩windows,但是最近要弄一些东西,必须咋windows下,于是重启后进入windows,一切都是那么顺其自然,没有任何问题,但是当我点开我的电脑后,发现我的D盘出现了红色(系统空间大小显示),当时的我啊,无语掉,进入D盘,查看所有文件,总共才4G多,我的D盘35G,理论上应该还有30个G才对啊,Why??<br /> <br />百思不得其解,于是Google,百度了一把,未果!<br /

2010-06-17 20:38:00 18085 3

原创 Linux下动态链接库与静态链接库比较

静态链接库的好处:<br />*静态链接库用起来简单;<br />*可执行文件不依赖县官的外部组建(共享库)。可执行文件中已经包含了它需要的库内容;<br />*对于静态库而言,不存在环境或管理上的问题;<br />*静态库代码不需要成为位置无关的代码:每个执行程序都有自己需要的一部分,并且都包含在执行文件内!<br />*避免许可的限制:比如一个大公司开发的一个软件,而这个软件依赖一个其他公司开发的库,而这个库又是要钱的,那么这个大公司就只能把他需要的库内容静态的转载到自己的软件发行版中去,因为这样就避免

2010-06-15 23:14:00 1137

原创 Linux下动态链接库

<br /><br /><br /><br />什么动态链接库?<br />动态链接库又称为共享库,在linux下以lib***.so的形式存在,所谓动态,就是在程序运行是转载链接,不像静态在编译是就已经知道需要的对象库同时还将其链接复制到了程序体内!如何创建共享库?<br />运用gcc(如果是C++程序就用bcc或g++)命令外加-shared(顾名思义,就是共享的意思)<br />例如:gcc -o lib***.so xxx.o yyy.o -shared 将生成lib***.so共享文件;不过大多

2010-06-15 22:58:00 880

原创 Linux下静态链接库

什么是静态链接库?        放置在一起的对象模块的集合,这些对象模块都存储于一个存档文件中;在进程中怎么存放?        一个进程一般分为一个部分:环境变量,堆栈, 空闲内存,动态内存,可执行程序映像(包括程序本身的执行代码,还有就是链接的静态库),共享库(一般为动态链接库.so文件),其他内存;静态链接库怎样与程序链接?        静态链接库是在编译生成可执行文件是链接并装载复制静态链接库中自己需要的那部分代码,因此一旦可执行文件生成以后,即使你把静态库文件删除也不会影响程序的运行!不过编译

2010-06-15 22:14:00 689

转载 Linux下静态库和动态库(共享库)的制作与使用

Linux下静态库和动态库(共享库)的制作与使用Linux操作系统支持的函数库分为静态库和动态库,动态库又称共享库。linux系统有几个重要的目录存放相应的函数库,如/lib /usr/lib。  静态函数库:    这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进可执行文件了。当然这也会成为他的缺点,因为如果静态函数库

2010-06-07 16:14:00 604

转载 linux(ubuntu)下查看C++函数库

<br />在网上找到了这东西,按照上面说的做,能够解决问题,其他都没什么作用,这个不错,收藏起来,以后便于查阅!<br />非常谢谢这个资源!<br /><br /><br /><br /><br />GNU GCC 提供了一份关于 MAN 格式的 C++ 标准库的文档,可以在其镜像点(http://gcc.gnu.org/mirrors.html)中下载。具体的路径是:libstdc++/doxygen/libstdc++-man-xxxxxx.tar.bz2,可找一个最新日期的下载。展开包

2010-06-02 22:28:00 5527

转载 退出vim终端乱码问题

当当前的目录是中文名字时,随便进入vim,然后退出,终端就乱码了,用reset命令重置一下屏幕就会显示正常。但每次进去都是乱码的,如果在乱码时候再进去vim再退出,屏幕显示又好了。模式都是utf-8编码的。估计是vim这个东西退出的时候每次往屏幕上输出了额外的不完整字节的字符了(多了半个 ? utf-8)这两天才发现这个问题,估计是装了gvim之后引入的,或者是gvim哪里的配置不对了

2010-05-05 09:43:00 1831

转载 ubuntu更新源(教育网资源)

感谢Linuxidc的整理,以下是ubuntu 9.10 教育网的源:#电子科技大学deb http://Ubuntu.uestc.edu.cn/ubuntu/ karmic main restricted universe multiversedeb http://Ubuntu.uestc.edu.cn/ubuntu/ karmic-backports main restri

2010-04-29 08:51:00 1459

转载 排序算法的比较

1.稳定性比较 插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的 选择排序、希尔排序、快速排序、堆排序是不稳定的2.时间复杂性比较 插入排序、冒泡排序、选择排序的时间复杂性为O(n2) 其它非线形排序的时间复杂性为O(nlog2n) 线形排序的时间复杂性为O(n);3.辅助空间的比较 线形排序、二路归并排序的辅助

2010-04-25 22:07:00 549

空空如也

空空如也

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

TA关注的人

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