<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hollyhock13的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hollyhock13</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hollyhock13]]></copyright><item><title><![CDATA[进程线程及堆栈关系的总结]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6291012</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6291012</guid><author>hollyhock13</author><pubDate>Thu, 31 Mar 2011 10:47:00 +0800</pubDate><description><![CDATA[<br />进程线程及堆栈关系的总结<br />突然想到进程的栈和线程的栈,就顺便说一下,线程的栈被自动分配到进程的内存空间中<br />进程和线程都是由操作系统所体会的程序运行的基本单元，系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于： 
<br /><br />简而言之,一个程序至少有一个进程,一个进程至少有一个线程. <br />线程的划分尺度小于进程，使得多线程程序的并发性高。 
<br />另外，进程在执行过程中拥有独立的内存单元，而多个线程共享内存，从而极大地提高了程序的运行]]></description><category></category></item><item><title><![CDATA[makefile解释及模板]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6236617</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6236617</guid><author>hollyhock13</author><pubDate>Thu, 10 Mar 2011 10:52:00 +0800</pubDate><description><![CDATA[<br />调试makefile 收藏<br /><br />一个调试makefile文件的简便方法：那就是用make -p|tee 
make.out来输出make运行过程中产生的中间信息。<br /><br />make -n 就可以输出调试<br /><br />make 
的运行<br />——————<br /><br />一般来说，最简单的就是直接在命令行下输入make命令，make命令会找当前目录的makefile来执行，一切都是自动的。但也有时你也许只想让make重编译某些文件，而不是整]]></description><category></category></item><item><title><![CDATA[linux应用层获取鼠标坐标]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6193525</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6193525</guid><author>hollyhock13</author><pubDate>Fri, 18 Feb 2011 15:38:00 +0800</pubDate><description><![CDATA[linux应用层获取鼠标坐标2011-01-13 22:46<br />补充：在这个函数中要打开一个鼠标设备，但是在嵌入式的文件系统中没有这个设备节点，<br />鼠标设备的主设备号和次设备号有是如何确定的呢？<br />在  linux 系统中，鼠标和键盘的设备号都是固定的，可以在 PC 上查看，再在嵌入式的文件系统中自己建立。<br /><br />qu@ubuntu:/tmp$ ls -l /dev/input/ <br />total 0<br />drwxr-xr-x 2 root root   ]]></description><category></category></item><item><title><![CDATA[提问的智慧]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6193266</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6193266</guid><author>hollyhock13</author><pubDate>Fri, 18 Feb 2011 14:12:00 +0800</pubDate><description><![CDATA[<br />如果您经常有问题需要问<br />如果您的问题经常无人解答<br />如果您的提问贴里经常有人和您叫板<br />那么<br />您最适合阅读一下《》这篇文章<br /><br />如果您没有足够时间来阅读那些冗长的文字<br />那么这幅图可能最适合您了<br /><br />文字版<br /><br />中文来自：<br />http://www.linuxforum.net/doc/smartq-grand.html<br />英文原版：<br />http://linuxmafia.co]]></description><category></category></item><item><title><![CDATA[Android手机快捷键大全]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6193235</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6193235</guid><author>hollyhock13</author><pubDate>Fri, 18 Feb 2011 14:02:00 +0800</pubDate><description><![CDATA[Android手机快捷键大全Posted by IA on 2010 年 12 月 24 日 <br />Android手机的市场份额是越来越大，Android手机新用户也是越来越多，下面让我们来学习一下Android手机的快捷键，不管新手还是老手总会对你有用的!<br />全局快捷键启动（默认，可以自己定义修改，search键+任意字母键）quick launch:<br />Browser SEARCH + b<br />Contacts SEARCH + c<br />E-Mail SEARCH + ]]></description><category></category></item><item><title><![CDATA[configure文件中的build、host、target含义]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6191738</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6191738</guid><author>hollyhock13</author><pubDate>Thu, 17 Feb 2011 16:05:00 +0800</pubDate><description><![CDATA[configure文件中的build、host、target含义  今天阅读autobook[注1]一书,3.4节讲到了configuration 
name。书中提到了build、host、target这几个变量。看起来容易让人感到一些混淆，其实这极大的简化了二进制文件格式生成的控制。build -- 在build系统中建立packagehost -- 建立好package后，package能够在host运行target -- 经由package所产生的可执行文件能够在target上运行。 例如：在GN]]></description><category></category></item><item><title><![CDATA[linux定时器的使用]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6118822</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6118822</guid><author>hollyhock13</author><pubDate>Wed, 05 Jan 2011 21:10:00 +0800</pubDate><description><![CDATA[<br />linux定时器的使用   <br />使用定时器的目的无非是为了周期性的执行某一任务，或者是到了一个指定时间去执行某一个任务。要达到这一目的，一般有两个常见的比较有效的方法。一个是用linux内部的三个定时器，另一个是用sleep, 
usleep函数让进程睡眠一段时间，其实，还有一个方法，那就是用gettimeofday, 
difftime等自己来计算时间间隔，然后时间到了就执行某一任务，但是这种方法效率低，所以不常用。<br />首先来看看linux操作系统为每一个进程提供的3个内部]]></description><category></category></item><item><title><![CDATA[Linux 内核中断内幕]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6085856</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6085856</guid><author>hollyhock13</author><pubDate>Sun, 19 Dec 2010 22:45:00 +0800</pubDate><description><![CDATA[<br />Linux 内核中断内幕<br /> 苏 春艳, 在读研究生苏春艳：在读研究生，主要在Linux系统下从事嵌入式开发。杨 小华 (normalnotebook@126.com), 
在读研究生杨小华，目前从事 
Linux 内核方面的研究，喜欢捣鼓 Linux 系统，对 Linux 中断系统比较了解。可以通过 normalnotebook@126.com与他取得联系。<br /> <br />简介： 本文对中断系统进行了全面的分析与探讨，主要包括中断控制器、中断分类、中断亲和力、中断线程化与]]></description><category></category></item><item><title><![CDATA[Linux中断内核编程]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6082591</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6082591</guid><author>hollyhock13</author><pubDate>Fri, 17 Dec 2010 16:42:00 +0800</pubDate><description><![CDATA[<br /><br />Linux中断内核编程<br />前言<br />在前面分析了中断的基本原理后，就可以写一个内核中断程序来体验以下，也可以借此程序继续深入来了解内核中断的执行过程<br />一.内核中断程序 ：<br />我们还是来看一看成程序：<br />在看程序之前，要熟悉如何进行模块编程，和了解module_pararm()的用法。如果不熟悉的话请大家看，module_param()的学习 和Linux内核模块编程 ，在此不作解释。<br />1.程序interrupt.c<br /> vie]]></description><category></category></item><item><title><![CDATA[页目录和页表结构]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6072869</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6072869</guid><author>hollyhock13</author><pubDate>Mon, 13 Dec 2010 11:54:00 +0800</pubDate><description><![CDATA[<br /> 页目录和页表结构 收藏<br /> <br /><br />上图反映了如下信息：<br />1、  进程的4G 线性空间被划分成三个部分：进程空间（0-3G）、内核直接映射空间（3G – high_memory）、内核动态映射空间（VMALLOC_START  -  VMALLOC_END）<br />2、  三个空间使用同一张页目录表，通过 CR3 可找到此页目录表。但不同的空间在页目录表中页对应不同的项，因此互相不冲突<br />3、  内核初始化以后，根据实际物理内存的大小，计算出 hi]]></description><category></category></item><item><title><![CDATA[  Windows 内存的分配]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/6072706</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/6072706</guid><author>hollyhock13</author><pubDate>Mon, 13 Dec 2010 10:54:00 +0800</pubDate><description><![CDATA[<br />  Windows 内存的分配 收藏 Windows 使用一种 分页请求虚拟内存系统，现在我们就来分析一下这种系统。 虚拟地址空间<br />虚拟内存的概念在上个世纪五十年代就提出了，当时是作为解决不能一次装入实际内存的程序这一复杂问题的方案提出的。在虚拟内存系统中，程序可以访问超出可用物理内存的更大的地址集合，专用内存管理程序将这些逻辑地址映射到实际地址，使用磁盘上的临时存储保存超出的部分。<br />Windows 所使用的现代虚拟内存实现中，虚拟存储被组织成大小相同的单位，称为 页。每个操]]></description><category></category></item><item><title><![CDATA[console tty 串口]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/5977780</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/5977780</guid><author>hollyhock13</author><pubDate>Sun, 31 Oct 2010 17:17:00 +0800</pubDate><description><![CDATA[<br />console tty 串口<br />  http://blog.sina.com.cn/s/blog_6151984a0100ejfg.html<br />使用的命令：<br />tty 
查看使用哪个终端<br />who 查看登入的用户<br />w   查看登入的用户<br />echo "abc" >> /dev/pts/* 
<br />echo "123" >> /dev/ttyAMA0 
不同终端之间信息的传递<br /><br />当你运行一个程序的时候，此进程一定会对]]></description><category></category></item><item><title><![CDATA[Linux2.6 中断处理函数和申请中断函数的变化]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/5917913</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/5917913</guid><author>hollyhock13</author><pubDate>Fri, 01 Oct 2010 16:49:00 +0800</pubDate><description><![CDATA[Linux2.6 中断处理函数和申请中断函数的变化2009-07-29 08:46﻿今天练习了中断。<br />Linux设备驱动开发技术及应用 ，作者使用的是2.6.4，现在看来也很古老了，<br />按照书上的例子，免不了很多错。<br />例如代码里<br />自己定义的中断处理函数<br />irqreturn_t int_interrupt(int irq,void * dev_id,struct pt_regs *regs)；<br />注册中断函数<br />request_irq(PRINT]]></description><category></category></item><item><title><![CDATA[复习STL各类容器的删除 ]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/5910068</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/5910068</guid><author>hollyhock13</author><pubDate>Mon, 27 Sep 2010 16:59:00 +0800</pubDate><description><![CDATA[复习STL各类容器的删除条款9：在删除选项中仔细选择<br />假定你有一个标准STL容器，c，容纳int，Container<int> c; <br />而你想把c中所有值为1963的对象都去掉。令人吃惊的是，完成这项任务的方法因不同的容器类型而不同：没有一种方法是通用的。<br />如果你有一个连续内存容器（vector、deque或string——参见条款1），最好的方法是erase-remove惯用法（参见条款32）：c.erase(remove(c.begin(), c.end(), 1963),]]></description><category></category></item><item><title><![CDATA[Linux的Shell编程]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/5907355</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/5907355</guid><author>hollyhock13</author><pubDate>Sun, 26 Sep 2010 14:38:00 +0800</pubDate><description><![CDATA[<br /><br />其实作为命令语言互动式地解释和执行用户输入的命令只是Shell功能的一个方面，Shell还可以用来进行程序设计，它提供了定义变量和参数的手段以及丰富的程序控制结构。使用Shell编程类似于DOS中的批处理文件，称为Shell script，又叫Shell程序或Shell命令文件。<br /> Shell基本语法<br />　　像高级程序设计语言一样，Shell也提供说明和使用变量的功能。对Shell来讲，所有变量的取值都是一个字串，Shell程序采用$var的形式来引用名为var的变]]></description><category></category></item><item><title><![CDATA[linux shell 编程中的特殊符号]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/5907351</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/5907351</guid><author>hollyhock13</author><pubDate>Sun, 26 Sep 2010 14:36:00 +0800</pubDate><description><![CDATA[<br />linux shell 编程中的特殊符号2009年03月10日 星期二 18:53这是看书的时候记下来的笔记<br />一、井号 #1、在脚本文件中对一行进行注释。2、在引号和/符号后不是注释，只是#号本身:echo "12 # hehe"echo '12 # hehe'echo 12 /# hehe3、参数替代echo $(PATH#*:)4、进制数转换echo $((16#a));将十六进制数a转换为十进制数表示出来echo $((5#3));将5进制数3转换为十进制数表示出来5、模式匹配e]]></description><category></category></item><item><title><![CDATA[解读linux对string.h函数的实现]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/5872110</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/5872110</guid><author>hollyhock13</author><pubDate>Wed, 08 Sep 2010 23:12:00 +0800</pubDate><description><![CDATA[C代码 /*  file:string.h  #ifndef _LINUX_STRING_H_  #define _LINUX_STRING_H_   /* We don't want strings.h stuff being user by user stuff by accident */    #ifdef __KERNEL__     #include <linux/types.h>  /* for size_t */   #include <linux/stddef.h> /* for NULL]]></description><category></category></item><item><title><![CDATA[C語言切割字串函式 strsep，分析 URL GET 參數]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/5872101</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/5872101</guid><author>hollyhock13</author><pubDate>Wed, 08 Sep 2010 23:08:00 +0800</pubDate><description><![CDATA[<br />今天來簡介 UNIX 內建的 strsep 函式，這在 Windows Dev-C++ 是沒有支援的，在寫 UNIX 分析字串常常需要利用到此函式，大家可以 man strsep 來看如何使用 strsep，假設我們要分析 URL Get 字串：user_command=appleboy&test=1&test2=2，就可以利用兩次 strsep 函式，將字串全部分離，取的個別的 name, value。strsep(stringp, delim) 第一個參數傳入需要分析的字串，第二個參數傳入 ]]></description><category></category></item><item><title><![CDATA[第二章 SQLite的基本语法]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/5847682</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/5847682</guid><author>hollyhock13</author><pubDate>Sun, 29 Aug 2010 12:23:00 +0800</pubDate><description><![CDATA[<br />第二章 SQLite的基本语法<br /><br />作者： zieckey ( zieckey@yahoo.com.cn ) <br /><br />这一章我们将会学习到sqlite的基本语法，sqlite的语法现象和SQL92是比较相象的，<br />或者说sqlite3兼容大部份SQL92的语法现象。<br />下面我们看看怎么用这些语法现象来创建数据库以及对数据库的各种操作。<br /><br />2.1 新建一个数据库<br />例如我们想新建一个数据库命名为zieckey.db ，可]]></description><category></category></item><item><title><![CDATA[Source Insight 经典教程 ]]></title><link>https://blog.youkuaiyun.com/hollyhock13/article/details/5847678</link><guid>https://blog.youkuaiyun.com/hollyhock13/article/details/5847678</guid><author>hollyhock13</author><pubDate>Sun, 29 Aug 2010 12:22:00 +0800</pubDate><description><![CDATA[3推荐Source Insight经典教程 <br />Source Insight实质上是一个支持多种开发语言（java,c ,c 等等）的编辑器，只不过由于其查找、定位、彩色显示等功能的强大，常被我们当成源代码阅读工具使用。<br />作为一个开放源代码的操作系统，Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会，特别是Linux内核的组织极为复杂，同时，又不能像windows平台的程序一样，可以使用集成开发环境通过察看变量和函数，甚至设置断点、单步运行、调试等手段来弄清楚整个程序]]></description><category></category></item></channel></rss>