自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(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 13174

转载 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 2988

转载 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 1683

转载 利用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

Linux程序设计源码

《Linux程序设计第四版》的源代码 ,看书必备

2012-11-27

mfc实现自给按钮,透明按钮

如果你希望能够在自己的程序中表现出新意,那么你一定不会仅仅满足于MFC提供那些标准控件。这时,我们就必须自己另外多做些工作了。就改变控件外观这一点来说,主要是利用控件的自绘功能(Owner Draw)实现的。

2012-11-27

不规则窗体的创建

在绝大多数的Windows应用程序中,其窗体都是使用的正规正矩的矩形窗体,例如我们常用的,“记事本”,“扫雷”,等等。矩形窗体,具有编程实现简单,风格简洁的优点,所以在普通文档应用程序和简单小游戏中使用足矣。但在某些娱乐游戏程序中使用就略显呆板些了,这时若用不规则窗体替代原先的矩形窗体,将会使这类程序更添情趣。典型的例子有windows 自代的Media Player,新版本的Media Player有个控制面板的选项,选中这些面板,播放器就以选中的面板形状出现,这时的播放器比以前版本的Media Player的古老矩形界面要生动有趣的多了。 要实现不规则窗体不是太难,知道了基本原理后,你也可以创建各种有趣的不规则窗体。

2012-11-27

GDIPlus.zip 开发库

GDI   GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。   在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕、打印机及其它输出设备上输出图形,文本等操作。GDI的出现使程序员无需要关心硬件设备及设备驱动,就可以将应用程序的输出转化为硬件设备上的输出,实现了程序开发者与硬件设备的隔离,大大方便了开发工作。 GDI+   GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。   作为图形设备接口的GDI+使得应用程序开发人员在输出屏幕和打印机信息的时候无需考虑具体显示设备的细节,他们只需调用GDI+库输出的类的一些方法即可完成图形操作,真正的绘图工作由这些方法交给特定的设备驱动程序来完成,GDI+使得图形硬件和应用程序相互隔离.从而使开发人员编写设备无关的应用程序变得非常容易。

2012-11-27

MFC的DLL导出类

通过创建MFC扩展DLL来导出类的方法。

2012-11-27

jsoncpp-src-0.5.0.tar.gz C++代码

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

2012-11-27

将文件和文件夹分开的lf

以前常常在找让ls单独列出文件或文件夹的方法,基本上都是通过一些shell处理,不过得到的结果一般都没有格式。学linux编程,想想自己写一个好了。 root@hastray:~# lf -a / . .. bin boot cdrom dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var initrd.img vmlinuz root@hastray:~# lf -d / bin boot cdrom dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var root@hastray:~# lf -f / initrd.img vmlinuz root@hastray:~# lf --file / initrd.img vmlinuz root@hastray:~# lf -c / bin boot cdrom dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var initrd.img vmlinuz Directories: 20 Files: 2 root@hastray:~# lf -d / /usr /: bin boot cdrom dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var /usr: arm-linux-gnueabi bin games include lib lib64 local sbin share src root@hastray:~# lf -h lf -[adfch] directory1 directory2 ... -a --all show all of the files include begin with '.' -d --dir show the directories only. -f --file show the files except directories. -c --count count there are how much files and directories. -h --help show this.

2011-11-28

linux基础知识(ubuntu),入门必备

linux系统常用的ubutu版本的入门知识,适合初学者。

2011-11-24

人月神话.pdf

《人月神话》内容源于作者Brooks在IBM公司任System/360计算机系列以及其庞大的软件系统OS/360项目经理时的实践经验。在《人月神话》中,Brooks为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。   大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。《人月神话》探索了达成一致性的困难和解决的方法,并探讨了软件工程管理的其他方面。《人月神话》适合任何软件开发行业的从业人员阅读,对软件开发人员、软件项目经理、系统分析师更是必读之作。

2011-11-24

高质量C++编程指南.PDF

C++高质量编程 林锐主编,最新版,非常的实用,而且他是在非常多的经验下写出来的-C++

2011-11-24

Windows程序设计 第五版上下合订本

《Windows程序设计(第5版 珍藏版)》是一本经典的Windows编程圣经,曾经伴随着近50万Windows程序员步入编程殿堂,成长为IT时代的技术精英。   作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋见瓴的角度,建立完整的知识体系,为以后的职业生涯奠定良好的基础。全书共3部分23章。第1~12章着重介绍基础知识,第13~18章的主题为图形,第19~23章涉及更多高级主题。   《Windows程序设计(第5版 珍藏版)》适合任何层次的Windows程序员阅读和参考,是帮助他们梳理和建立Windows知识体系的理想读物。

2011-11-24

Linux内核修炼之道

本书重点介绍Linux内核工作原理以及学习方法。将Linux内核的修炼之道总结为四个层次:第一层次目的是对Linux以及内核有个全面的认识和了解,掌握Linux内核源代码的分析方法。第二个层次讨论了内核中系统初始化、系统调用、中断处理、进程管理及调度、内存管理、文件系统以及设备驱动等主要部分,目的是希望读者以兴趣为导向,寻找一个子系统或模块,对其代码深入钻研和分析。第三个层次介绍了内核开发与调试的一些基本信息,目的是希望读者能够融入到内核的开发社区,做出自己的贡献。第四个层次浓缩为两个字——坚持。

2011-11-24

深入浅出MFC.pdf

  经典的mfc书籍,windows编程不可错过。   《深入浅出MFC》分为四大篇。第一篇提出学习MFC程序设计之前的必要基础,包括Windows程序的基本观念以及C++的高阶议题。“学前基础”是相当主观的认定,不过,基于我个人的学习经验以及教学经验,我的挑选应该颇具说服力。第二篇介绍Visual C++整合环境开发工具。本篇只不过是提纲挈领而已,并不企图取代 Visual C++使用手册。然而对于软件使用的老手,此篇或已足以让您掌握Visual C++整合环境。工具的使用虽然谈不上学问,但在视觉化软件开发过程中扮演极重角色,切莫小觑它。 第三篇介绍application framework的观念,以及MFC骨干程序,所谓骨干程序,是指Visual C++的工具AppWizard所产生出来的程序码。当然,AppWizard会根据你的选项做出不同的程序码,我所据以解说的,是大众化选项下的产品。 第四篇以微软公司附于Visual C++光碟片上的一个范例程序Scribble为主轴,一步一步加上新的功能。并在其间深入介绍Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serialization)、Message Mapping、Command Routing等核心技术。这些技术正是其他书籍最缺乏的部分。此篇之最后数章则脱离Scribble程序,另成一格。

2011-11-24

五子棋,C语言代码,dos环境支持鼠标操作

本人的C语言课程设计,用了一个较好理解的算法,不过智能还不错,对于人工智能入门的人学习是很有帮助的。在wintc下编译通过。

2011-11-24

C语言经典算法100例

C语言经典算法100例.rar,一些C语言常用的基本算法的实例,适合初学者学习

2011-11-24

C语言上机100题无错版,C语言入门必备

南开C语言上机100题无错版.chm,编程注重实践。

2011-11-24

linux命令大集合,非常全的工具书

非常全面的linux命令查阅工具书,并且按命令的用途进行了分类,方便查阅。 分类有文件管理,文件传输,文档编辑,磁盘管理,磁盘维护,网络通讯,系统管理,系统设置,备份压缩,其他,XWindow等,总共316个命令。

2011-11-21

XML入门教程

xml的入门教程,适合初学者 1 XML 简介 2 XML 的用途 3 XML 树结构 4 XML 语法规则 5 XML 元素 6 XML 属性 7 XML 验证 8 XML 验证器 9 XML 浏览器支持 10 查看 XML 文件 11 使用 CSS 显示 XML 12 使用 XSLT 显示 XML 13 XML 解析器 14 XML DOM 15 XML to HTML 16 XMLHttpRequest 对象 17 XML 应用程序 18 XML 命名空间(XML Namespaces) 19 XML CDATA 20 XML 编码 21 XML DOM 高级 22 XML Don't

2011-11-20

linux常用命令源码(ls,cp,chmod,df等一百多个命令)

linux下大部分常用命令源码,偶正要开始学习-_- base64.c basename.c c99-to-c89.diff cat.c chcon.c chgrp.c chmod.c chown.c chown-core.c chown-core.h chroot.c cksum.c comm.c copy.c cp.c cp-hash.c csplit.c cut.c date.c dcgen dd.c df.c dircolors.c dircolors.h dircolors.hin dirname.c du.c echo.c env.c expand.c expr.c extract-magic factor.c false.c fmt.c fold.c getlimits.c group-list.c groups.c head.c hostid.c hostname.c id.c install.c join.c kill.c lbracket.c libstdbuf.c link.c ln.c logname.c ls.c ls-dir.c ls-ls.c ls-vdir.c md5sum.c mkdir.c mkfifo.c mknod.c mktemp.c mv.c nice.c nl.c nohup.c nproc.c od.c operand2sig.c paste.c pathchk.c pinky.c pr.c printenv.c printf.c prog-fprintf.c ptx.c pwd.c readlink.c remove.c rm.c rmdir.c runcon.c seq.c setuidgid.c shred.c shuf.c sleep.c sort.c split.c stat.c stdbuf.c stty.c su.c sum.c sync.c tac.c tac-pipe.c tail.c tee.c test.c timeout.c touch.c tr.c true.c truncate.c tsort.c tty.c uname-arch.c uname.c uname-uname.c unexpand.c uniq.c unlink.c uptime.c users.c wc.c whoami.c who.c yes.c

2011-11-20

空空如也

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

TA关注的人

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