- 博客(15)
- 资源 (24)
- 收藏
- 关注
原创 将m个相同的球全部放到n个相同的盒子里面有几种放法,盒子不能为空
将m个相同的球全部放到n个相同的盒子里面有几种放法,盒子不能为空,m>=n盒子不能为空,所以可以当成将m-n个球放到n个盒子里,盒子可以为空。比如将10个球放到5个盒子里,可以当成5个球放到5个盒子里,盒子能为空。接着,再分情况,将球分为(5,0,0,0,0)(4,1,0,0,0)或(2,3,0,0,0)(3,1,1,0,0)或(2,2,1,0,0)(2,1,1,1,0)
2012-03-31 16:58:23 13177
转载 printf到printk的转变
昨天下午stepbystep的为其他同学演示了内核模块编程hello,kernel!在陈老师的指导下,先为大家演示了最基本的C程序hello,world。然后又一步步的转换成内核模块程序。在这一步步的转变过程中,我也发现了自己在学习内核模块中的不足,下面将下午遇到的一些问题总结如下。一个简单的hello,world程序如下:#include int main(){ printf("h
2012-03-30 11:56:36 846
转载 对Makefile、Kconfig与.config文件的再次理解
虽然前文中对Makefile、Kconfig以及.config三个文件又过解释,但是在做过几个简单的例子后,对这三个文件有了更深入的理解,(本文参考了苏锦秀师姐的PPT)现在总结如下:1.我们要在内核中增加程序(比如驱动程序),并且使这个驱动程序能够编译进内核,基本分为两大部分。首先我们要告诉内核“请您下次编译的时候捎带上我”,即需要我们进行内核的相关配置,这就需要对相关Makefie和Kco
2012-03-30 11:52:29 721
转载 Linux操作系统的Configure参数解释说明
Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当然要成为高手
2012-03-21 14:30:10 561
转载 memcached简单的使用教程
这是工程应用性质的文章:memcached是数据快速存取的工具,wikipedia和facebook就用了它提高速度。具体情况可以wiki.c/c++里面使用memcached本来是很简单的事情,但就是没有人说,非要我去读libmemcache的实例代码才行,manpage也没有说清楚(但还不得不看)。如果要使用memcached,步骤如下:1 安装memcached
2012-03-20 12:14:33 585
转载 Memcache协议中文版
写在前头偶然之间看到本文的中英文对照版本,感觉看起来不是很方便,于是花费了半个小时的时间,仔细整理出了独立的中文版本,并记录下来。协议memcached 的客户端使用TCP链接 与 服务器通讯。(UDP接口也同样有效,参考后文的 “UDP协议” )一个运行中的memcached服务器监视一些(可设置)端口。客户端连接这些端口,发送命令到服务器,读取回应,最后关闭连接。结束会话不需要
2012-03-19 16:08:29 517
转载 例解 autoconf 和 automake 生成 Makefile 文件
引子无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系。但是如果通过查阅ma
2012-03-19 10:41:08 505
原创 linux内核完全剖析0.12笔记--第四章 80x86保护模式及其编程
这一章涉及intel8086系列cpu的保护模式编程,应该是学习内核编程,驱动编程及嵌入式编程一些基础知识。不过对于没接触过底层编程的我来说,感觉还是好复杂。 不过里面也有许多以前汇编学过的东西,大部分还是能看懂的。我觉得图表就能说明大部分内容了,细节东西,不能都做笔记,所以大部分笔记都是图表- -。1,首先是关于8086cpu的各个标志寄存器,其内容如下: 2,内存管理的寄存器,主
2012-03-10 12:42:44 2990
转载 ubuntu 8.04 bochs 调试linux 0.11内核
要下载的软件包:bochs-2.3.5linux-0.11-081030.tar.gz linux-0.11-devel-060625.zip(hdc-0.11-new.img 文件系统)(hdc-0.11-new.img 只用这一个文件也可以时入linux 0.11系统,只需在配置bochs时稍做修改就可以,但是要调试源码的话,还是自己编译来得爽)安装bochs之前做一些
2012-03-09 11:30:08 1850
转载 bochs 开启调试选项
安装从http://bochs.sourceforge.net/下载./configure --with-all-libs --enable-vbe --enable-debuggermakemake install#需要声卡加--enable-sb16,需要网卡加--enable-ne2000,#64位机使用--enable-x86-64,mmx和sse, smp默认不支
2012-03-08 22:24:15 1684
转载 利用GDB和Bochs调试内核源代码
本节说明如何在现有Linux系统(例如RedHat 9)上使用Bochs模拟运行环境和gdb工具来调试Linux0.11内核源代码。在使用这个方法之前,你的Linux系统上应该已经安装有Xwindow系统。由于Bochs网站提供的RPM安装包中的Bochs执行程序没有编译进与gdb调试器进行通信的gdbstub模块,因此我们需要下载Bochs源代码来自行编译。 gdbstub可以使得Bo
2012-03-08 22:22:11 1329
转载 内核编程的hello world!
hello,Kernel!2010年9月13日 由 edsionte 留言 »学习内核模块编程,第一个小程序当然是 hello,kernel!了,这应当算是一个惯例了。以前大三的时候在实验课上做过模块编程,记得当时还是许师兄带我们的实验,不过现在又忘了。晚上试了试,很快就运行成功了,不过还是出现了一些问题。现在将我的步骤记录如下,供和我一样的初学者学习。1.首先编写hello.
2012-03-06 22:54:36 726
转载 linux驱动程序开发环境配置
本文是参考了网上多篇帖子而写的算不上什么原创。唯一值得欣慰的只不过在本机上实现罢了。因为毕竟失败了几次。也因为本人是初学驱动编程 很多简单的问题在我来说是相当的困难的。望有识之士不要笑话。最后,希望本文能给刚学驱动而还没开头的人提供一些帮助。刚看 O'REILLY 写的《LINUX 设备驱动程序》时。作者一再强调在编写驱动程序时必须 建立内核树。所谓内核树,我的理解和网上资料说的一致就是内核源
2012-03-06 22:51:17 581
转载 各种数转换成字符串
关键字:float转化成字符串double转化成字符串int 转化成字符串貌似不少人都不清楚这个问题。。。。今天去百度知道里逛,发觉有个人问怎么把浮点数转化成字符串,居然4个人的回答都不对。。。。。为了避免杯具继续,在这里说明一下可行的方案吧。。。一个是printf的字符串版本。本来printf是格式化打印,不过许多人都不明白“格式化”具体是什么意思-
2012-03-06 10:45:34 713
转载 perror简介
表头文件头文件 #include #include//注意 不可以掉了这个头文件,perror是包含在这个文件里的//perror表头文件完善版定义函数 void perror(const char *s); perror ("open_port");函数说明 perror ( )用 来 将 上 一 个 函 数 发 生 错 误 的 原 因 输 出
2012-03-05 11:18:05 1214
mfc实现自给按钮,透明按钮
2012-11-27
不规则窗体的创建
2012-11-27
GDIPlus.zip 开发库
2012-11-27
jsoncpp-src-0.5.0.tar.gz C++代码
2012-11-27
将文件和文件夹分开的lf
2011-11-28
人月神话.pdf
2011-11-24
Windows程序设计 第五版上下合订本
2011-11-24
Linux内核修炼之道
2011-11-24
深入浅出MFC.pdf
2011-11-24
linux命令大集合,非常全的工具书
2011-11-21
XML入门教程
2011-11-20
linux常用命令源码(ls,cp,chmod,df等一百多个命令)
2011-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人