自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (10)
  • 收藏
  • 关注

转载 自旋锁及其衍生锁

自旋锁自旋锁(spinlock)是用在多个CPU系统中的锁机制,当一个CPU正访问自旋锁保护的临界区时,临界区将被锁上,其他需要访问此临界区的CPU只能忙等待,直到前面的CPU已访问完临界区,将临界区开锁。自旋锁上锁后让等待线程进行忙等待而不是睡眠阻塞,而信号量是让等待线程睡眠阻塞。自旋锁的忙等待浪费了处理器的时间,但时间通常很短,在1毫秒以下。   自旋锁用于多个CPU系

2014-06-07 14:12:04 737

转载 Linux 初始 RAM 磁盘(initrd)概述

简介: Linux® 初始 RAM 磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd 文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM 磁盘卸载,并释放内存。在很多嵌入式 Linux 系统中,initrd 就是最终的根文件系统。本文将探索 Linux 2.6 的初始 RAM 磁盘,包

2012-03-21 10:42:57 641

转载 跟我一起写 Makefile(十四)

使用make更新函数库文件———————————函数库文件也就是对Object文件(程序编译的中间文件)的打包文件。在Unix下,一般是由命令"ar"来完成打包工作。一、函数库文件的成员一个函数库文件由多个文件组成。你可以以如下格式指定函数库文件及其组成:    archive(member)这个不是一个命令,而一个目标和依赖的定义。一般来说,这种用法基本上就是为了"ar"

2012-03-02 11:45:42 549

转载 跟我一起写 Makefile(十三)

五、定义模式规则你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有"%"字符。"%"的意思是表示一个或多个任意字符。在依赖目标中同样可以使用"%",只是依赖目标中的"%"的取值,取决于其目标。有一点需要注意的是,"%"的展开发生在变量和函数的展开之后,变量和函数的展开发生在make载入Makefile时,而模式规则中的"%"则发生

2012-03-02 11:43:53 443

转载 跟我一起写 Makefile(十二)

隐含规则————在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规则。“隐含规则”也就是一种惯例,make会按照这种“惯例”心照不喧地来运行,那怕我们的

2012-03-01 11:29:15 448

转载 跟我一起写 Makefile(十一)

make 的运行——————一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述如何使用make命令的。一、make的退出码make命令执行后有三个退出码:

2012-03-01 10:39:07 538

转载 跟我一起写 Makefile(十)

四、foreach 函数 foreach函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell(/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构建的。它的语法是:     $(foreach ,,) 这个函数的意思是,把参数中的

2012-03-01 09:25:36 486

转载 跟我一起写 Makefile(九)

使用函数————在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:    $( )或是    ${ }这里,就是函数

2012-02-29 11:28:55 471

转载 跟我一起写 Makefile(八)

六、多行变量 还有一种设置变量值的方法是使用define关键字。使用define关键字设置变量的值可以有换行,这有利于定义一系列的命令(前面我们讲过“命令包”的技术就是利用这个关键字)。define指示符后面跟的是变量的名字,而重起一行定义变量的值,定义是以endef关键字结束。其工作方式和“=”操作符一样。变量的值可以包含函数、命令、文字,或是其它变量。因为命令需要以[Tab]键

2012-02-29 11:07:00 516

转载 跟我一起写 Makefile(七)

使用变量————在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中。变量的命名字可以包含字符、数字,下划线(可以

2012-02-28 10:28:29 478

转载 跟我一起写 Makefile(六)

书写命令————每条规则中的命令和操作系统Shell的命令行是一致的。make会按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令。我们在UNIX下可能会使用不同的Shell,但是make的命令默认是被“/bin/

2012-02-27 21:13:14 453

转载 跟我一起写 Makefile(五)

六、多目标Makefile的规则中的目标可以不止一个,其支持多目标,有可能我们的多个目标同时依赖于一个文件,并且其生成的命令大体类似。于是我们就能把其合并起来。当然,多个目标的生成规则的执行命令是同一个,这可能会可我们带来麻烦,不过好在我们的可以使用一个自动化变量“$@”(关于自动化变量,将在后面讲述),这个变量表示着目前规则中所有的目标的集合,这样说可能很抽象,还是看一个例子吧。

2012-02-27 12:49:54 4270 1

转载 跟我一起写 Makefile(四)

书写规则————规则包含两个部分,一个是依赖关系,一个是生成目标的方法。在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么,

2012-02-26 18:54:49 549

转载 跟我一起写 Makefile(三)

Makefile 总述———————一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我

2012-02-26 18:26:55 534

转载 跟我一起写 Makefile(二)

三、make是如何工作的在默认的方式下,也就是我们只输入make命令。那么,    1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。    2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。    3、如果edit文件不存在,或是edit所依赖的后面的

2012-02-26 17:44:10 591

转载 跟我一起写 Makefile(一)

跟我一起写 Makefile 陈皓概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软

2012-02-26 12:48:02 707

转载 实现开发板与虚拟机linux系统间文件共享

为实现宿主机上交叉编译后的应用程序能方便的下载到嵌入式开发板上运行,一般通过在开发板上采用网络挂载虚拟机nfs文件系统实现实验环境:宿主机是虚拟机centos5.4目标机是mini2440上的linux这里我用交叉网线来连接一,要在虚拟机安装nfs服务器(1)需要安装下面两个文件# rpm -ivh nfs-utils-1.0.1-2.9.i386.rpm portma

2011-12-30 11:32:54 5881 1

转载 嵌入式系统 Boot Loader 技术内幕

1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。3. 文件系统。包括根文件系统和建

2011-12-29 10:59:14 508

转载 Linux2.6 内核的 Initrd 机制解析

1.什么是 Initrdinitrd 的英文含义是 boot loader initialized RAM disk,就是由 boot loader 初始化的内存盘。在 linux内核启动前, boot loader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的 initrd 文件系统。在 boot loader 配置了 initrd

2011-12-09 21:26:25 549

转载 initrd的功能

为什么要引入initrd?Linux启动过程中肯定要载入内核镜像,在此过程中有些要素必须考虑:首先,内核镜像不能太大。由于受到各种硬件和兼容性的限制,Linux的内核镜像不能太大,但是这并不容易做到。Linux内核的核心部分本身就不小了;而且还必须加入会使用到的驱动程序。其次,要支持尽可能多的硬件设备。我们在启动过程中有一件重要工作:挂载root文件系统,因为进一步的数据和应用软件都在

2011-12-09 21:08:54 647

转载 linux内核镜像格式

一、Linux内核镜像格式     Linux内核有多种格式的镜像,包括vmlinux、Image、zImage、bzImage、uImage、xipImage、bootpImage等.(1)kernel镜像格式:vmlinux   vmlinuz是可引导的、可压缩的内核镜像,vm代表Virtual Memory.Linux支持虚拟内存,因此得名vm.它是由用户对内核源码编译得到,实质

2011-12-09 20:12:39 618

转载 详解C中volatile关键字

本文转自:chao_yu原文链接:http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764231.html                                       详解C中volatile关键字  volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或

2011-12-06 15:36:58 388

转载 S3C2440的时钟设置

一个嵌入式系统中,晶振就像心脏。必须先确定晶振,设置好系统的时钟,WDT,UART,PWM,TIMER等模块才能正常工作。和51系列单片机相比,S3C2440的时钟电路很复杂。首先通过引脚OM2,OM3来选择时钟源。以TQ2440开发板为例,OM2,OM3都接地,外接12M晶振,主时钟源和USB时钟源都是外部晶振。S3C2440具有2个PLL(Phase Locked Loop:用来产生高

2011-11-02 17:13:52 742

转载 嵌入式Linux之我行——ARM MMU工作原理剖析

一、MMU的产生      许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随

2011-09-04 17:55:06 758

转载 线程控制--私有数据

在多线程环境下,进程内的所有线程共享进程的数据空间,因此全局变量为所有线程共有。在程序设计中有时需要保存线程自己的全局变量,这种特殊的变量仅在某个线程内部有效。如常见的变量errno,它返回标准的出错代码。errno不应该是一个局部变量,几乎每个函数都应该可以访问它;但它又不能作

2011-08-18 17:44:49 684

转载 原码反码补码加减运算

原码加减法比较复杂,需要事先判断数的符号,然后决定做加法还是做减法运算。     补码的加减法运算比较简单,采用补码加减法运算,可将“正数加负数”的操作,转化为“正数加正数”的操作。一般计算机采取补码进行加减法运算。因减法运算可看作被减数加上一个减数的负值,即A-B=A+(-

2011-08-10 16:08:48 15309 2

转载 进位与溢出

进位与溢出Cy位是进位位,用来表示本次无符号数运算结果的溢出溢出。由于无符号数的最高有效位只有数位意义而无符号意义,所以该位所产生的进位应该是本次运算结果的实际进位值。所以说:进位位Cy是在给定二进制数的位数范围内,代表了本次运算结果的溢出情况。另一方面,它所保存的进位值有时

2011-08-09 23:28:18 3970

转载 另一个视角解读计算机编码-补码编码

数学是一个完全抽象的学科,而计算机是这个学科的一种形象化的实现,显然无法处理一些仅在抽象意义上有意义的特殊“数字”,比如无穷之类的东西,。像数学中的加法,乘法这样运算,计算机必须给与实现,然而由于数学中的实数加法(以及别的运算)是建立在实数域上的,而实数域又是无限的,而计算机只能

2011-08-09 21:23:31 447

转载 ATPCS使用规则

为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则.ATPCS就是ARM程序和THUMB程序中子程序调用的基本规则...一.ATPCS概述...       ATPCS规定了一些子程序之间调用的基本规则.这些基本规则包括子程序调用过

2011-08-02 16:44:57 663

转载 ARM汇编伪指令 宏的用法详解(MACRO MEND)(转载)

宏是一段独立的程序代码,它是通过伪指令定义的,在程序中使用宏指令即可调用宏。当程序被汇编时,汇编程序将对每个调用进行展开,用宏定义取代源程序中的宏指令。MACRO、MEND       语法格式:   MACRO    [$ label] macroname{ $

2011-07-31 10:36:20 1520

转载 ARM汇编伪指令介绍

在 ARM 汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命

2011-07-26 23:39:29 454

原创 浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)

首先,先稍微了解系统调用的概念:    系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将

2011-07-24 23:11:51 2590 1

转载 函数指针

函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数

2011-07-04 14:30:37 500

转载 删除文件的恢复策略

作者: 李贵林 陈朝晖 与DOS/Windows不同,UNIX文件被删除后很难恢复,这是由UNIX独特的文件系统结构决定的。UNIX文件目录不像DOS/Windows那样,文件即使被删除之后仍保存有完整的文件名、文件长度、始簇号(即文件占有的第一个磁盘块号)等重要信息;相反,它的文件信息全部依靠一种被称为i节点的数据结构来描述,而i节点在相应文件被删除之后即被清空,因此,要想直接恢复被删除的文件内容几乎是不可能的,必须另辟蹊径。本文结合实际,讨论几种文件恢复策略及其关键步骤的具体实现。

2011-05-08 11:04:00 616

转载 Kill信号列表

$ kill -l<br />1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL<br />5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE<br />9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2<br />13) SIGPIPE 14) SIGALRM 15)

2011-05-01 17:00:00 478

转载 vim+ctags+taglist 安装使用

vim+ctags+taglist 安装使用好久没写了,嘻嘻,今天写个关于类unix下安装读源代码工具的安装的东东。因为测试需要,最近读了sysbench的部分源代码。本身就是个菜鸟,加上人家写的代码感觉使用指针很巧妙,读得我头晕眼花。今天装了个ctags+taglist感觉还是很好用的。嘻嘻这里记下。1 ctags安装tar zxvf ctags-5.7.tar.gz<br />cd ctags-5.7<br />./configure && make && make install<br />

2011-04-10 19:24:00 1730

转载 RHEL5 下安装GCC编译环境

<br />系统默认安装时并没有安装编译环境,也就是说GCC也没有装进去。<br /> <br />所幸的是RHEL的光盘上的Server目录里已经包含了gcc和其所依赖的软件<br /> <br />开始安装:按顺序安装以下包就可以完成GCC的安装了<br /> <br />找出下列软件,并安按照顺序安装即可。<br /> <br />rpm -ivh kernel-headers-2.6.18-128.el5.i386.rpm<br /> <br />rpm -i

2011-04-10 17:14:00 589

转载 C语言里的左移和右移运算

先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用int i = 1;i = i 也就是说,1的2进制是000...0001(这里1前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成000...0100,也就是10进制的4,所以说左移1位相当于乘以2,那么左移n位就是乘以2的n次方了(有符号数不完全适用,因为左移有可能导致符号变化,下面解释原因)需要注意的一个问题是int类型最左端的符号位和移位移出去的情况.我们知道,int是有符号的整形

2011-03-11 15:42:00 998

原创 作用域、链接属性和存储类型的总结

<br />

2011-03-10 18:06:00 622

原创 Linkages of identifiers(链接属性)

Linkages of identifiers(链接属性)1.An identifier declared in different scopes or in the same scope morethan once can be made to refer to the same object or function by a processcalled linkage.There are three kinds of linkage: external, internal, and none.2.I

2011-03-10 17:37:00 777

ARM THUMB procedure call standard

ARM-THUMB procedure call standard

2011-08-01

s3c2440芯片中文手册

s3c2440芯片中文手册 s3c2440芯片中文手册 s3c2440芯片中文手册 s3c2440芯片中文手册

2011-07-15

ARM Architecture Reference Manual

本手册介绍符合 ARMv4 和 ARMv5 标准的处理器的指令集、内存模型和程序员模型,这类处理器包括: ARM7 ARM9 ARM10 StrongARM Intel XScale Marvell Feroceon 产品系列 本手册还介绍最初的 ARMv6 体系结构版本。Thumb-2 或 TrustZone 安全扩展的内容不包含在本手册中。

2011-07-15

JavadocToCHM

JavadocToCHM 最好用的javadoc 转换成chm格式的工具,小巧精悍。

2011-03-18

Java_Struts教程.pdf

系统、全面的介绍了如何借助struts框架进行mvc的开发

2010-04-13

Web_Service开发指南_2.3.1.pdf

采用axis服务器下的Web Service开发经典入门教材

2010-04-13

ActualTestsOracle1Z0-007v02.16.04.rar

ocp模拟题,全面覆盖sql相关的知识,并有详细的答案解析

2008-03-19

Oracle PLSQL Best Practices Second Edition.chm

pl/sql相关的联系,与Oracle PLSQL Programming 4th.chm书搭配起来使用效果更佳实践出真知

2008-03-19

Oracle PL SQL Programming 4th.chm

公认比较好的pl/sql学习资料

2008-03-19

startingstruts2.pdf

startingstruts2online.pdf

2008-03-19

空空如也

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

TA关注的人

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