- 博客(13)
- 资源 (29)
- 收藏
- 关注
转载 c语言中的内存模式(编译模式)(2)
<br />六种编译模式概述 <br /> Turbo C 提供了六种编译模式。编译模式有时也称为寻址模式或内存模式,因为它处理的就是如何在内存中为程序,数据,堆栈分配空间并存取它们,这六种模式是:微模式tiny,小模式small, 紧凑模式compact,中模式medium,大模式large,巨模式huge。它们之间的关系如下表所示。<br /> │ 小程序 │ 大程序<br /> ━━━━┿━━━━━━┿━━━━━━━━<br /> 小数据 │ 微,小 │ 中<br />
2010-11-30 09:26:00 1234
原创 c语言中的内存模式(编译模式)(1)
<br />编译模式是指如何在内存中放置程序代码及数据,如何分配堆栈,并确认占用的内存大小及如何存取它们,当指定内存模式(编译模式)以后,语言编译程序将按事先选择好的内存模式编译组织程序,C 语言中提供了6种编译模式,这6种模式是:微模式(Tiny),小模式(Small),中模式(Medium),紧凑模式(Compact),大模式(Large)和巨模式(Huge)。用户可以按照自己的程序大小及需要进行选择。<br /> 所谓小程序就是指程序只有一个程序段,大小不超过64KB,缺省的码(函数)指针是near
2010-11-30 09:24:00 2552 1
原创 C语言的常用类型转换函数
<br />C语言的常用类型转换函数(atoi,atol,strtod,strtol,strtoul)<br />atof(将字符串转换成浮点型数)<br />atoi(将字符串转换成整型数)<br />atol(将字符串转换成长整型数)<br />strtod(将字符串转换成浮点数)<br />strtol(将字符串转换成长整型数)<br />strtoul(将字符串转换成无符号长整型数)<br />toascii(将整型数转换成合法的ASCII 码字符)<br />toupper(将小写字母转换成大写字
2010-11-29 22:39:00 646
原创 c语言中setjmp与longjmp(4)
<br />sigsetjmp() is similar to setjmp(). If savesigs is non-zero, the set of blocked signals is saved in env and will be restored if a siglongjmp() is later performed with this env. <br />Exception handling<br />在这种情况下使用时,主要用于以下几种情况:<br />* As the conditi
2010-11-29 14:12:00 718
原创 c语言中setjmp与longjmp(3)
<br />longjmp对自动,寄存器,全局变量,静态变量,和易失变量(Volatile Variable)的影响<br /> <br />当longjmp返回到main函数时,这些变量的值是否能恢复到以前调用setjmp时的值(即滚回原先值),或者这些<br />变量的值保持为最新的值?不幸的是,对此问题的回答是“看情况”。大多数实现并不滚回这些自动变量和寄存器变量的值,而所有标准则说它们的值是不确定的。如果你有一个自动变量,而又不想使其值滚回,则可定义其为具有volatile属性。说明为全局和静态变量
2010-11-29 08:51:00 1497 1
原创 关于c语言的协程和C++的RAII
<br />Coroutines in C:http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html<br />http://hi.baidu.com/nxdl/blog/item/1b739835f750721f90ef39c9.html<br /> <br />RAII:http://topic.csdn.net/u/20080216/08/afb1d694-803b-4248-9b0f-893225023491.html
2010-11-28 16:30:00 1318
转载 c语言中setjmp与longjmp(2)
如何实现异常处理首先设置一个跳转点(setjmp() 函数可以实现这一功能),然后在其后的代码中任意地方调用 longjmp() 跳转回这个跳转点上,以此来实现当发生异常时,转到处理异常的程序上,在其后的介绍中将介绍如何实现。 setjmp() 为跳转返回保存现场并为异常提供处理程序,longjmp() 则进行跳转(抛出异常),setjmp() 与 longjmp() 可以在函数间进行跳转,这就像一个全局的 goto 语句,可以跨函数跳转。jmp_buf 异常结构 使用 setjmp() 及 longjm
2010-11-28 16:04:00 884
转载 c语言中setjmp与longjmp(1)
<br />setjmp函数与longjmp函数总是组合起来使用,它们是紧密相关的一对操作,只有将它们结合起来使用,才能达到程序控制流有效转移的目的,才能按照程序员的预先设计的意图,去实现对程序中可能出现的异常进行集中处理。<br />与goto语句的作用类似,它能实现本地的跳转<br />这种情况容易理解,不过还是列举出一个示例程序吧!如下: <br />void main( void )<br />{<br />int jmpret;<br />jmpret = setjmp( mark );<br /
2010-11-28 15:59:00 652
转载 讲讲volatile的作用
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: <br /> 1). 并行设备的硬件寄存器(如:状态寄存器) <br /> 2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) <br /> 3). 多线程应用中被几个任务共享的变量 <br /
2010-11-27 17:45:00 365
原创 linux操作系统原理与应用-读书笔记(2)-进程(1)
1。进程控制块-进程状态 在Linux的设计中,考虑到在任一时刻在CPU上运行的进程最多只有一个,而准备运行的进程可能有若干个,因此为了管理上的方便,把就绪状态和运行状态合并为一个状态--可运行态。2。进程控制块-进程标识符(PID) PID是一个32位的无符号整数,顺序编号,最大号是32767。3。进程控制块-进程之间的亲属关系 PIDHASH_SZ为表中元素的个数。 linux用链地址法来处理PID引起的冲突,也就是说,每一个表项都是由冲突的PID组成的双向链表,task_struct结构中有两个
2010-11-18 09:06:00 820
转载 Debian编译升级内核(could not load /lib/modules/2.6.28/modules.dep问题)
<br /><br />虚拟机VMware下的Debian etch 2.6.26-6-686,欲升级为2.6.36内核。<br />如果打算使用X-Window中的xconfig界面来配置内核,所以,需要安装qt3,运行命令<br />#apt-cache search qt3<br />然后将几个开头为qt3的包安装。<br />#apt-get install qt3-dev-tools qt3-qtconfig qt3-doc qt3-designer qt3-assistant qt3-apps-
2010-11-16 15:11:00 2923
原创 linux操作系统原理与应用--读书笔记(1)
1。在80386中的段寄存器(16位)存放的不是段的基地址,而是某个段的选择符(selector),因为16位的寄存器无法存放32位的段基地址,段基地址存放在描述符表(descriptor table)中。2。控制寄存器: CR0主要使用PG(31位,分页允许位)和PE(0位,保护允许位); CR1未定义; CR2页故障线性地址寄存器,保存最后一次出现缺页的全32位线性地址; CR3页目录基址寄存器,保存页目录的物理地址,页目录总是存放在以4kb为单位
2010-11-16 14:56:00 909
转载 Linux内核发展回顾--软件世界 邹震
<br /><br />尽管有人认为Linux 2.4内核与其说是一个革命性的版本,不如说是一个进化版本,但现在全世界的Linux爱好者都在为之欢呼。此时此刻,我想做的是带大家回顾一下Linux内核的发展史。 <br /><br /> 是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围 <br />设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,发动机自身是不能工
2010-11-15 20:33:00 880
三星s5578 root文件
2013-09-30
健身工具-健身伴侣
2013-02-18
步行健身-运动健身
2013-02-05
Magic Slimmer
2013-01-22
Receiver operating characteristics
2013-01-08
The.Design.Of.The.Unix.Operating.System.part7
2011-03-10
The.Design.Of.The.Unix.Operating.System.part6
2011-03-10
The.Design.Of.The.Unix.Operating.System.part5
2011-03-10
The.Design.Of.The.Unix.Operating.System.part4
2011-03-09
The.Design.Of.The.Unix.Operating.System.part3
2011-03-09
The.Design.Of.The.Unix.Operating.System.part2
2011-03-09
The.Design.Of.The.Unix.Operating.System part1
2011-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人