- 博客(105)
- 资源 (6)
- 收藏
- 关注
转载 C语言经典著作导读
0.《C语言大全第四版》作者: 赫伯特・希尔特译者: 王子恢 戴健鹏 等出版社: 电子工业出版社出版年: 2001-9-1页数: 560定价: 48.00装帧: 平装(无盘)ISBN: 9787505369153说明:之所以我定为第0本,是因为这本完全适合零基础的,另外这本书买不到了,虽然计算机更新换代很快,但是C永远不会淘汰,最起码20年内还不会。
2012-03-11 13:54:23 1143
转载 Linux内核学习四库全书
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。Linux Kernel 四库全书1. Linux内核设计与实现 Edition 2 2. Linux设备驱动 Edition 3 3. L
2012-03-11 13:52:47 273
转载 Linux网络编程必看书籍推荐
首先要说讲述TCP/IP的书很多,其中有3泰书很全。分别是《TCP/IP详解》三卷本,《用TCP/IP进行网际互连》三卷本,《TCP/IP指南》+《IPv6》四卷本其中TCP/IP详解的作者还写了另外2本经典著作,《Unix环境高级编程》,《Unix网络编程》作者W.Richard Stevens个人网站 http://www.kohala.com/大师作品部部经典,可惜1999年
2012-03-11 13:50:03 243
转载 4. C++ 关键字——friend
友元是指:采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破坏
2013-02-26 13:05:04 327
转载 3. C++中operator的主要用法
1. operator 用于类型转换函数:类型转换函数的特征:1) 型转换函数定义在源类中;2) 须由 operator 修饰,函数名称是目标类型名或目标类名;3) 函数没有参数,没有返回值,但是有return语句,在return语句中返回目标类型数据或调用目标类的构造函数。类型转换函数主要有两类:1) 对象向基本数据类型转换:对象向不
2013-02-26 13:04:13 361
转载 Linux:Ubuntu 11.04下安装极点五笔输入法
刚刚安装好了 Ubuntu 11.04,但是没有五笔的日子实在不好过,WINDOWS下用习惯了极点五笔,本以为极点的作者不出Linux版的,结果在网上一搜,居然有高手想到引用极点五笔的字典实现可以同时打拼音和五笔,废话少说,下面看如何操作:ibus下用法在终端中执行如下操作sudo wget http://www.xiit.cn/wp-content/uploads/201
2013-02-26 12:34:28 452
转载 2.C++中虚析构函数的作用
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout "Do
2013-02-25 21:54:58 360
原创 1. C++中的构造函数
【一】、构造函数在定义类的对象的时候系统自动调用构造函数。构造函数可以程序员显式的说明,也可以不写,系统默认给你提供一个构造函数。1.当要在定义类的对象时给对象赋初值时,必须自己写构造函数,如:#includeclass student {public: student(int num) //构造函数 { stunum = num; //赋值 cout<<"用户写的
2013-02-25 21:26:46 493
原创 1、物理地址、逻辑地址和线性地址
1、物理地址 物理地址是指出现在CPU地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。2、逻辑地址 程序经过编译后,在汇编程序中使用的地址。3、线性地址(虚拟地址) 也即虚拟地址,在32位CPU架构下,可以表示4G的地址空间,用16进制表示就是0x00000000--0xffffffff4、地址转换 转换过程:CPU要将一个逻辑地址转换为
2011-12-24 11:02:44 598
原创 XP下用putty远程登录ubuntu
1、首先安装openssh-server $ sudo apt-get install openssh-server $ sudo /etc/init.d/server ssh start //开启ssh $ sudo /etc
2011-09-04 12:30:26 598
原创 3、可执行文件ELF && 几个重要的编译
1、ELF文件有三种不同的类型 (1)可重定位的目标文件,即 *.o文件 (2)可执行文件,即 *.elf文件 (3)共享库2、程序的汇编、链接、运行过程 (1)写一个汇编程序并保存文件文件
2011-09-04 02:41:54 348
原创 2、第二个汇编程序 && x86寄存器 && 寻址方式
1、x86寄存器 x86的通用寄存器有 eax, ebx, ecx, edx ,edi, esi,有些指令规定只能使用其中的某个寄存器,如除法指令idivl要求被除数在 eax寄存器中,edx寄存器为0,而除数寄存器可以为任意寄存器,计算结果必须保存在 eax寄存器中,
2011-09-04 01:14:25 414
原创 1、最简单的汇编程序
/********************************************************************x86汇编下的规则: 寄存器前要加 % ,如 %eax 立即数前要加 $ ,如 $3 操作数顺
2011-09-04 01:08:30 523
原创 ubuntu 11.04下安装vmware tools产生的C头文件问题
出现如下问题: Vmware What is the location of the directory of C header files that match your running解决办法如下:1. 运行cd /lib/modules/`uname -r`/bu
2011-09-03 15:11:23 288
原创 变量的内存分配情况
内存中变量:全局变量、局部变量、静态变量(static)和寄存器变量(register) 局部变量和全局变量分配的内存地址差十万八千里,而全局变量和静态变量分配的内存是连续的。这是因为局部变量和全局变量/静态变量是分配在不同类型的内存区域中的结果。 一个
2011-08-26 14:46:30 536
原创 数据类型转换详解
规则:向高级的转换转换级别(Rank)由低到高:char 比如运算 a+b1)都是有符号或无符号 转换成较高级别(Rank)的,如unsigned int和unsigned long做算术运算都转换成unsigned long2)一边无符号,另一边有
2011-08-25 21:39:28 392
转载 6、MTD原始设备与FLASH硬件驱动的对话 (二)
上一个贴由下到上的介绍了FLASH硬件驱动是如何与MTD原始设备建立联系的,现在再由上到下的研究一下是如何通过MTD原始设备来访问FLASH硬件驱动的。首先分析一下如何通过MTD原始设备进而通过FLASH硬件驱动来读取FLASH存储器的数据。引用自>一文:
2011-08-25 03:14:10 286
转载 5、MTD原始设备与FLASH硬件驱动的对话 (一)
看了>后对以MTD的分层结构以及各层的分工情况有了大致的了解,然而各层之间是如何进行对话的呢,对于这个问题,>上没有详细的去说明。小弟抽空研究了一下,打算从下到上,在从上到下,分两条主线来研究一下MTD原始设备与FLASH硬件驱动的对话(MTD原始设备与更上层的对话留待以
2011-08-25 03:07:18 403
原创 13、关于结构体对齐的问题
对齐方式(规则):1)当结构体内的元素的长度都小于处理器的倍数的时候,便以结构体里面最长的数据元素为对齐单位,也就是说结构体的长度一定 是最长的数据元素的整数倍2)如果结构体内存在长度大于处理器倍数的元素,那么就以处理器的倍数为对齐单位。但是结构体内类
2011-08-24 15:33:00 409
原创 7、printf函数的不可重入性
printf()经常有重入解释 不可重入函数不可以在它还没有返回就再次被调用。例如printf,malloc,free等都是不可重入函数。因为中断可能在任何时候发生,例如在printf执行过程中,因此不能在中断处理函数里调用printf,否则printf将会被重入 函
2011-08-24 13:07:28 1622
转载 31、 2410下DMA驱动源码分析
首先我们由 kconfig 和 makefile 来获取 DMA 方面相关文件 ( 即源码 ): Arch/arm/plat-s3c24xx/Dma.c Arch/arm/mach-s3c2410/Dma.c 以上两个就是操作 DMA 的核心文
2011-08-23 17:58:31 434
转载 30、Linux Platform Device and Driver
作者: Dongas 日期: 08-06-27 从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device 和 Platform_driver 。Linux 中大部分的设备驱动,都可以使用这套机制 , 设备用 Platfo
2011-08-23 17:54:14 528
转载 4、基于MTD的NAND驱动开发(完)
六、NAND驱动中的坏块管理 由于NAND Flash的现有工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此在NAND芯片出厂的时候,厂家只能保证block 0不是坏块,对于其它block,则均有可能存在坏块,而且NAND芯片在使用
2011-08-23 17:50:09 313
转载 3、基于MTD的NAND驱动开发(三)
五、NAND 驱动中的probe 函数 对于很多嵌入式Linux 的外设driver 来说,probe 函数将是我们遇到的第一个与具体硬件打交道,同时也相对复杂的函数。而且根据我的经验,对于很多外设的driver 来说,只要能成功实现probe 函数,那基本上
2011-08-23 17:46:42 294
转载 Linux内核开发的版本控制工具Git中文教程
本文将以 Git 官方文档 Tutorial, core-tutorial 和 Everyday GIT 作为蓝本翻译整理,但是暂时去掉了对 Git 内部工作机制的阐述, 力求简明扼要,并加入了作者使用 Git 的过程中的一些心得体会,注意事项,以及更多的例子。 建议你最好通过你
2011-08-23 17:45:15 419
转载 2、基于MTD的NAND驱动开发(二)
四、基于MTD的NAND 驱动架构 1 、platform_device 和platform_driver 的定义和注册 对于我们的NAND driver ,以下是一个典型的例子: staticstruct platform
2011-08-23 17:43:14 406
转载 1、基于MTD的NAND驱动开发(一)
○、说明 大约用了两个礼拜不到的时间为公司的IPcamera 系统写了基于MTD 的NAND 驱动(linux-2.6.22.10 内核) ,目前已可以在该驱动的支持下跑cramfs 和jffs2 文件系统,另外,该驱动也可以同时支持small page( 每
2011-08-23 17:41:21 397
转载 [转载]完美老婆一定要知道的71个做饭技巧
原文地址:完美老婆一定要知道的71个做饭技巧作者:jouyi123完美老婆一定要知道的71个做饭技巧 1、煮水饺时,在水里放一颗大葱或在水开后加点盐,再放饺子,饺子味道鲜美不粘连;在和面时,每500克面粉加拌一个鸡蛋,饺子皮挺刮不粘连2、 炖肉时,
2011-08-23 16:27:13 454
转载 [转载](家常菜系列)教你几道八大菜系中的佳肴做法
原文地址:(家常菜系列)教你几道八大菜系中的佳肴做法作者:水儿清浅浅十二道经典东北菜(图解)http://blog.sina.com.cn/s/blog_4b6c190c01009z8m.html手工烘焙坊http://blog.sina.com.cn/junsmor
2011-08-23 16:26:16 2260
原创 5、70秒倒计时--C51程序
#include#define uchar unsigned char#define uint unsigned intuchar count;uint c,disnum;sbit dula=P2^6;sbit wela=P2^7;uchar code
2011-08-23 16:23:46 794
转载 4、单片机实验板的制作步骤
一.从网上搜集有关单片机学习板的资料你所选用单片机型号,其管脚的功能,其能实现的基本功能;最小系统部分,电源部分,下载部分,外围电路部分,扩展电路部分。二.构思单片机学习板1. 最小系统的搭建:晶振的选择,电容的选择,复位电路。注意晶振与单片机之间的连线最好最短,千
2011-08-23 16:22:15 710
原创 3、时钟数码管显示--可调时
#include#define uchar unsigned char#define uint unsigned intuchar s1,s2,m1,m2,h1,h2,miao,fen,shi,count,flag;sbit dula=P2^6;sbit we
2011-08-23 16:21:18 652
原创 2、昨晚调试的1602液晶数字时钟—可调时
#include#define uchar unsigned char#define uint unsigned intuchar code table[]="2009-12-21 MON";uchar code table1[]=" 00:00:00";
2011-08-23 16:19:06 580
转载 1、怎么样学好单片机
很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。 先说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么
2011-08-23 16:15:14 407
原创 12、ubuntu安装vmware-tools无法挂载问题
这是一个血的教训 安装ubuntu后,要安装vmware-tools的时候,一直无法挂载。 在网上查了很多资料之后,试了很多种方法,后来实践证明下面的方法可行。 “你要在启动虚拟机的 那瞬间,点VM - Install-vmwaretool....,才能会
2011-08-23 16:14:05 766
原创 11、关于gedit的问题
系统:ubuntu 8.10 很久前,用RH的时候习惯使用gedit来编辑,但是后来换成了ubuntu系统后,gedit只能在普通用户模式下,而且只能看文档,不能进行修改和保存。后来就不用gedit了,在网上找了很多未果,一直用vim来编辑,这期间把vim用的非常熟
2011-08-23 16:13:21 479
原创 10、VMware上桥接上网
PS:NAT上网为Vmnet 8 ,而Bridge为Vmnet 11)桥接的基本原理 配置成桥接网络连接模式的虚拟机就当作主机所在以太网的一部分,虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑,可以像主机一样可以访问以太网中的所有共享资源和网络连接,可以
2011-08-23 16:12:00 387
原创 29、(8)Linux内核启动第二阶段之 setup_arch函数分析
此函数在arch/arm/kernel/setup.c中定义 void __init setup_arch(char **cmdline_p){ struct tag *tags = (struct tag *)&init_tags; struct
2011-08-23 16:03:37 596
原创 28、(7)Linux内核引导阶段之 __switch_data(切换数据)
完成的工作:复制数据段、清除BSS段、设置栈指针、保存CPU ID到processor_id变量、保存机器类型ID到__machine_arch_type变量、调用start_kernel 在 arch/arm/kernel/head-common.S 中: 00
2011-08-23 16:00:26 1004 1
原创 27、(6)Linux内核启动引导阶段之 __enable_mmu函数分析
开启MMU在进入 __enable_mmu 的时候, r0中已经存放了控制寄存器c1的一些配置(在上一步中进行的设置), 但是并没有真正的打开mmu此时,一些特定寄存器的值如下所示: r0 = c1 parameters (用来配置控制寄存器的参
2011-08-23 15:54:50 918
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人