随笔分类 - C语言
摘要:一. 链接 1.1. 每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本
阅读全文
摘要:参考文献:https://www.cnblogs.com/henjay724/p/12259328.html 一. 引言 制定此编码风格指导手册的目的是为了使按此规范编写出的C/C++代码极易被阅读和理解。 二. 与其他编码风格对比 三. 基本排版格式 1. 需要以4个空格为单位的缩进 2. 坚决不
阅读全文
摘要:一. float 存储方式 1.1. float 占四个字节 1.2. 浮点数构成 1.2.1. 无论是单精度还是双精度在存储中都分为三个部分: <1>. 符号位(Sign) : 0代表正,1代表为负 <2>. 指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储(范围-12
阅读全文
摘要:一. 什么是Astyle 1. Astyle是一个用来对C/C++代码进行格式化的插件,可在多个环境中使用。该插件基于 Artistic Style 开发 二. 软件获取地址 1.下载地址:https://sourceforge.net/projects/astyle/files/latest/do
阅读全文
摘要:1. 使用宏定义swap函数,不使用中间变量 #define swap(x,y) {(x) = (x) + (y);(y) = (x) - (y);(x) = (x) - (y)} 2. 实现字符串的反转 #define swap(x,y) {(x) = (x) + (y);(y) = (x) -
阅读全文
摘要:一. 单链链表 1.1. 单链链表的主体 a. 此处链表的主体包含数据和节点,与linux内核中链表的用法很不一样,详细可以查看内核中链表的使用 b. 链表节点中由真实数据和下个节点指针构成。 struct node { int data; struct node *pNext; }; 1.2. 链
阅读全文
摘要:一. 不可重入函数 1.1. 什么是不可重入函数 a. 在实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果有一个函数不幸被设计成为不可重入这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。这样的函数是不安全的函数,也叫不可重入函数。 1.2.
阅读全文
摘要:一. 链表初识 1.1. 什么是链表 a. 链表是一种常见的基础数据结构 b. 链表是由节点(结构体)组成的,节点中包含:有效数据和指针。 c. 链表的内存要求比较灵活,一般不能用栈,也不能用data数据段。只能用堆内存。 1.2. 链表与数组差别 1.2.1. 链表就是用来解决数组的大小不能动态扩
阅读全文
摘要:一. 什么是uboot 1.1. uboot的由来 1.1.1. uboot是SourceForge上的开源项目 1.1.2. uboot就是由一个人发起,然后由整个网络上所有感兴趣的人共同维护发展而来的一个bootloader(与linux相似)。 1.1.3. uboot经过多年发展,已经成为事
阅读全文
摘要:一. 预处理器(Preprocessor) 1.1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 1.1.1. 我在这想看到几件事情: 1) #define 语法的基
阅读全文
摘要:#include <stdio.h> #define offset_of(type,member) ((int)&(((type *)0)->member)) #define container_of(ptr,type,member) ({\ const typeof(((type*)0)->mem
阅读全文

浙公网安备 33010602011771号