C语言
jiedou1993
这个人懒的写简介
展开
-
unsigned整数相减溢出问题
无符号整数 a 无符号整数 b a=0xff+1 b=0xff a-b=1 无符号整数 a 无符号整数 b a=0xff+0xff+1 b=0xff a-b=1原创 2019-10-27 21:10:50 · 2279 阅读 · 1 评论 -
VS2017下编译使用开源代码dlmalloc
dlmalloc与malloc类似,是一个更好用的内存分配工具,项目中刚好有用到dlmalloc,所以从github上下载源码学习一番,本以为可以很easy的在vs中编译使用,没想到最后折腾了2个小时。。。还是vs好久没用,有点生疏了,所以写篇blog记下防忘,废话不多说,直接进入正题吧。一.下载源码并使用cmake构建编译环境从https://github.com/ennorehling/...原创 2018-12-19 21:16:58 · 1589 阅读 · 1 评论 -
C语言结构体中最后一个成员为char[1]或char[0]
原文地址: 需要引起注意的:ISO/IEC 9899-1999里面,这么写是非法的,这个仅仅是GNU C的扩展,gcc可以允许这一语法现象的存在。 结构体最后使用0或1的长度数组的原因,主要是为了方便的管理内存缓冲区转载 2017-11-05 20:22:47 · 2543 阅读 · 0 评论 -
C语言中const关键字的用法
const关键字转载 2017-10-16 22:11:34 · 325 阅读 · 0 评论 -
C语言位运算
C语言位运算转载 2017-10-13 06:47:11 · 1010 阅读 · 1 评论 -
#pragma pack 结构体对齐编译器选项
内存对齐 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但是各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况,但是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。原创 2017-08-26 07:45:17 · 1404 阅读 · 0 评论 -
C语言可变参数列表
C语言中类似于printf这种类型的函数,在调用它们时我们传入的参数的类型和数量都不是固定的,这就需要可变参数列表,要使用可变参数列表,要用到以下几种宏。 #include <stdarg.h> void va_start(va_list ap, last); type va_arg(va_list ap, type); void va_end(va_list ap); void va_co原创 2017-08-02 21:19:57 · 309 阅读 · 0 评论 -
循环变量为无符号整型导致的代码bug
循环变量为无符号整型导致的代码bug原创 2017-04-23 22:01:05 · 1204 阅读 · 1 评论 -
gcc命令常用选项参数详解
gcc是GUN C和C++编译器,我们通常使用GCC时,编译器会依次做如下工作:preprocess(预处理),compilation(编译),assembly(汇编),link(链接)。gcc提供了一些选项参数能够让编译器停在某个过程(如编译过程)。原创 2017-03-27 23:33:41 · 8655 阅读 · 0 评论 -
C语言宏实现枚举变量转为字符串描述
C语言宏实现枚举变量转为字符串描述原创 2017-01-08 08:54:02 · 7259 阅读 · 0 评论 -
表驱动--用于在复杂消息分发中,取代if/else和switch/case结构
表驱动--用于在复杂消息分发中,取代if/else和switch/case结构原创 2016-12-26 16:47:26 · 995 阅读 · 0 评论 -
C语言中字符串的格式化
本文整理转载自:http://blog.csdn.net/hudashi/article/details/7080078C语言中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型, 其中方括号[]中的项为可选项。一、类型我们用一定的字符用以表示输出数据的类型,其格式符和意义下表所示:字符 意义a转载 2016-12-23 14:41:45 · 711 阅读 · 0 评论