2013年10月23日

(转载)堆、栈及静态数据区详解

摘要: 内存分为代码区、全局数据区、堆区和栈区。堆一般存放动态数据,栈里一般存放局部成员。关于堆栈和堆的概念[问题]C++中创建本地(或者说局域)变量是在堆栈(stack)中分配内存地址,而创建全局变量则是在堆(heap)中分配内存地址。我想知道什么是堆(heap)?为什么全局变量和本地变量在分配内存地址时要分别对待,堆和堆栈哪一个更有效率?[回答]在Window中执行的每一个应用程序都有其自己的内存地址。一部分内存空间用于存放程序代码,一部分内存空间用于存放程序执行期间创建的变量。创将变量的方法有两种,一种是在堆中,另外一种则在堆栈里。理解堆的最好的方法是将它看成一个程序随时可以使用的内存块。为了创 阅读全文

posted @ 2013-10-23 17:44 熊猫酒仙是也 阅读(201) 评论(0) 推荐(0) 编辑

linux设备驱动模型(kobject与kset)

摘要: Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简单了,而程序员只需要去学习接口就行了。 kobject 1.sysfs文件系统 1.1 sysfs文件系统与内核结构的关系linux内核中的结构sysfs中的结构 ... 阅读全文

posted @ 2013-10-23 14:46 熊猫酒仙是也 阅读(2697) 评论(0) 推荐(0) 编辑

导航