- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 程序、进程、线程区别与联系
<br /><br />定义:<br /> 一 程序只是一组指令的有序集合,<br /> 二 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位;<br /> 三 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;<br /> 一 进程与线程区别与联系<br /> (1) 划分尺度
2011-05-12 19:30:00 512
转载 三种方法:Linux动态库(.so)搜索路径
<br /><br />众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该 动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函数,以及 该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。<br /> 方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径
2011-05-12 19:09:00 731
转载 linux typedef的四个用途和两个陷阱
用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针 虽然: char *pa, *pb; 也可行,但相对来说没有用typedef的形式直观,尤其在需要大量指针的地方,typedef的方式
2011-05-12 14:34:00 508
转载 Linux使用time命令获取命令执行时间
<br /><br /> Linux下time命令可以获取到一个程序的执行时间,包括程序的实际运行时间(real time),以及程序运行在用户态的时间(user time)和内核态的时间(sys time)。<br /> 它的使用方法和前面讲过的strace类似,在待执行的命令前加上time即可。<br />来看一个例子程序test.c<br /> #include<br /> int main()<br /> {<br /> FILE *fp = fopen("/tmp/te
2011-05-12 12:43:00 794
转载 嵌入式系统编程中的代码优化
<br />1 引言<br /> <br />在当前计算机技术高度发展的今天,嵌入式系统已经广泛地应用于工业控制、信息家电、办公自动化、移动通信、仪器仪表、医疗电子以及国防等领域。随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。<br />嵌入式系统一般指非PC系统,通常完成一种或多种特定的计算机功能。它是以应用为中心,软硬件可裁减的,适应应用系统对功能,可靠性,成本,体积,功耗等综合性要求的专用计算机系统。简单的说类似于PC中的BIOS的工作方式,具有软件代码小、高度自动
2011-05-11 16:24:00 600
原创 C 编程之——寄存器赋值操作
在嵌入式硬件编程中,大多数情况下都是对相应硬件的功能寄存器进行设置和操作。一, 寄存器的设置和操作特性1,一个寄存器的每个位有其不同的意义,进行不同的设置会使硬件产生不同的效果和功能;2,有些情况下需要对一个寄存器进行连续的不同的甚至完全相反的设置;3,有些情况下需要对一个寄存器中的某一位或一位进行连续的不同的甚至完全相反的设置,而其余的位要保持不变;4,有时,对一个寄存器进行设置时,对其不同的位进行先后顺序不同的设置,即对
2011-05-05 09:35:00 5934 6
转载 循环缓冲区
循环缓冲区需要读端和写端2个指针来标定一块buffer,写端写到buffer的边界的时候,会跳到另一个边界继续写,直到写端指针和读端指针重合,这个时候缓冲区FULL状态,不可以再写,读端会一直读数据直到和写端指针重合,这个时候缓冲区为EMPTY状态,不可以再读。比如下面这段缓冲,存储了数字数据,r和w分别是读写指针|-------------------------------------------|1 2 3 4 5r w当读了2个数据
2011-05-04 21:27:00 1818
转载 Android2.3编译
1.安装JDK6对于Android2.3系统,不要安装JDK5,应该安装最新的JDK6。如果安装了JDK6,Android会自动按64位编译,如果系统是32位的,会有编译错误,后面会说如何修改这个错误。sudo apt-get install sun-java6-jdksudo update-java-alternatives -s java-6-sun安装完后,需要手动设置JAVA_HOME, JRE_HOME, CLASS_PATH为JDK6的安装路径。2. 安装各种包$ sudo aptitude i
2011-05-03 08:51:00 2677
Ahead AAC Decoder library documentation
2010-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人