摘要: 语言的结构体可以将不同类型的对象聚合到一个对象中,在内存中,编译器按照成员列表顺序分别为每个结构体变量成员分配内存,但由于 C 的内存对齐机制以及不同机器间的差异,各个成员之间可能会有间隙,所以不能简单的通过成员类型所占的字长来推断其它成员或结构体对象的地址。 如果要计算结构体中某成员相对于该结构体 阅读全文
posted @ 2017-05-10 14:59 btgo 阅读(3931) 评论(0) 推荐(0) 编辑
摘要: 如果你是 C++ 程序员,应该接触过 C++11 里的 decltype 操作符,它的作用是自动推导表达式的数据类型,以解决泛型编程中有些类型由模板参数决定而难以(甚至不可能)表示的问题。其实这个特性在 C 语言中也早有类似的实现,GNU C 标准中的一个扩展特性 typeof (PS: 不是 ty 阅读全文
posted @ 2017-05-10 14:51 btgo 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段。 下面我们来简 阅读全文
posted @ 2017-05-10 11:27 btgo 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 1、flash: 闪存,掉电之后里面的存储数据不会丢失,在嵌入式系统中用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。一般主要使用的FLASH有NOR flash和NAND flash。 NOR flash:一般小容量的用NOR因为其读取速度快,多用来存储操作系统等重 阅读全文
posted @ 2017-05-10 10:54 btgo 阅读(666) 评论(0) 推荐(0) 编辑