![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言编程
文章平均质量分 77
故都
hello world
展开
-
非对齐地址访问问题
ARM,DSP,POWERPC等不支持非对齐地址访问,X86支持非对齐地址访问。 为何要字节对齐? 从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。 TCPIP协议栈一直采用的uip,感觉不是很好,想采用网上的转载 2014-10-31 10:55:55 · 6496 阅读 · 1 评论 -
字节对齐概念以及相关深入
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数转载 2014-10-31 10:27:20 · 408 阅读 · 0 评论 -
const 、static、extern的用法总结
最近看许多公司笔试都考这几方面的内容,于是乎就搜索了一下,把这几个知识点总结以下,以增强基础,以及应付未来的笔试 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --------------------------CONST---------------------------------------转载 2014-12-25 10:40:23 · 367 阅读 · 0 评论 -
c语言中static 用法和extern
c语言中static 用法 static在c里面可以用来修饰变量,也可以用来修饰函数。 先看用来修饰变量的时候。变量在c里面可分为存在全局数据区、栈和堆里。其实我们平时所说的堆栈是栈而不是堆,不要弄混。 int a ; int main() { int b ; int c* = (int *)malloc(sizeof(int)); } a是转载 2014-12-25 10:30:40 · 383 阅读 · 0 评论