c语言
paul_zhang0932
这个作者很懒,什么都没留下…
展开
-
Static与全局与局部变量的区别
转自http://www.cnblogs.com/lzjsky/archive/2010/11/19/1882064.html 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的转载 2017-04-09 17:45:24 · 411 阅读 · 0 评论 -
C语言预编译、宏的整理
C中的预编译宏定义 注:在VC中,想看到宏展开后的代码,设置在项目->属性->C/C++->预处理器->生成预处理文件 打开这个选项后,去工程下找相应的.i文件,就能看见宏展开后到底是个什么了:) 在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的”宏(mac转载 2017-10-12 15:54:42 · 717 阅读 · 0 评论 -
用函数指针的方式来简化串口指令解析
嵌入式项目常常都会用到串口收发数据,有时候我们需要解析接收到的数据很多人会用到if –else if–else的方式来处理相关命令,也有人会用到switch case的方式,但都够简洁,特别是在多层指令嵌套的情况下,在这里介绍一种我在项目中常用到的方法——使用函数指针。 1.首先定义函数指针类型: typedef bool (*pFun)(const Message_t message_f...原创 2018-06-28 12:01:34 · 480 阅读 · 0 评论 -
C语言字节对齐 __align(),__attribute((aligned (n))),#pragma pack(n)
转自 : https://blog.csdn.net/21aspnet/article/details/6729724 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要...转载 2018-07-17 17:30:02 · 792 阅读 · 0 评论 -
RO段、RW段和ZI段 --Image$$??$$Limit 含义
RO段、RW段和ZI段 --Image$$??$$Limit 含义 转自http://www.cnblogs.com/heart-of-eagle/archive/2011/04/28/2032240.html IMPORT |Image$$RO$$Limit| IMPORT |Image$$RW$$Base| IMPORT |Image$$ZI$...转载 2018-07-27 15:51:20 · 276 阅读 · 0 评论 -
Linux kernel coding style
Linux kernel coding style 转自https://www.kernel.org/doc/html/latest/process/coding-style.html#linux-kernel-coding-style This is a short document describing the preferred coding style for the linux kern...转载 2019-01-15 10:24:46 · 391 阅读 · 0 评论 -
失传的C结构体打包技艺
原文链接https://github.com/ludx/The-Lost-Art-of-C-Structure-Packing 谁应阅读本文 本文探讨如何通过手工重新打包C结构体声明,来减小内存空间占用。你需要掌握基本的C语言知识,以理解本文所讲述的内容。 如果你在内存容量受限的嵌入式系统中写程序,或者编写操作系统内核代码,就有必要了解这项技术。如果数据集巨大,应用时常逼近内存极限,这项技术会有所...转载 2019-09-10 16:53:24 · 410 阅读 · 1 评论