![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 63
HsiangUp
Dream your dream
身体是革命的本钱————规律锻炼
尽一切努力提高生产率————提升自己
一个人的人生上限由其思维认知决定
展开
-
什么是引用?
什么是引用,你真的理解引用的本质么?原创 2022-10-29 01:52:54 · 143 阅读 · 0 评论 -
指针与数组——你真的懂么?
你真的懂指针与数组么?带你更深入了解指针与数组原创 2022-10-24 17:06:58 · 632 阅读 · 0 评论 -
统计栈大小及优化方法
统计栈大小及优化方法文章目录统计栈大小及优化方法问题背景分析方法解决方案问题背景栈溢出导致crash,某模块子线程的栈空间只有1M大小,超过1M导致crash。分析方法系统栈内存大小可,通过ulimit -a查看core file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size原创 2021-07-19 16:36:40 · 1874 阅读 · 2 评论 -
大小端转换源码
背景在不同的计算机系统中,数据的存储和读取有所不同,计算机的通信和存储依赖于一致的规则。目前计算机通常采用的存储机制主要有两种:大端模式(Big-endian)和小端模式(Little-endian)大下端常规定义大端模式:数据的低位或低字节(对整个序列取值影响最小的那个bit/byte)保存在内存的高地址中,而数据的高位或高字节,存储时放在低地址,读取时放在流开始。这样的存储模式有点儿类似...原创 2019-03-07 15:18:15 · 1284 阅读 · 0 评论 -
C语言读取和存储bmp格式图片
开发过程中有时候需要解析bmp数据,下面先简单介绍bmp数据组成,后面附上C语言读取和存储bmp格式图片代码。典型的位图文件格式通常包含下面几个数据块:BMP文件头:保存位图文件的总体信息。位图信息头:保存位图图像的详细信息。位图信息:保存位图图像的详细信息。调色板:保存所用颜色的定义。调色板:保存所用颜色的定义。位图数据:保存一个又一个像素的实际图像。位图数据:保存一个又一个像素的实...原创 2019-02-22 17:40:15 · 10241 阅读 · 9 评论 -
教训:malloc之前确认malloc的长度是否为0
教训:malloc之前确认malloc的长度是否为0导致问题:segment fault段错误的问题,这种问题很难寻找,所以要避免malloc(0),如果出现类似问题可以二分法加打印定位问题点。问题分析: 初始化在堆上malloc了一块区域,但是malloc()的size为0,这块地址被用来存了很多数据,数据依然可以使用,但是存的数据会将其他地址踩掉,就会在用其他地址的时候存在seg...原创 2018-04-09 16:01:50 · 2071 阅读 · 0 评论 -
隐式声明及编译选项不加-Werror导致的灾难
隐式声明及编译选项不加-Werror导致的灾难实验分析:两个.c文件: test.c源文件:#include <stdint.h>#include <stdio.h>char *test(void){ char *addr = NULL; addr = 0x334485667788; printf("[%s] addr = ...原创 2018-03-16 18:20:16 · 4103 阅读 · 0 评论 -
结构体字节对齐
结构体字节对齐结构体字节对齐什么是字节对齐为什么需要进行字节对齐字节是如何对齐的更改C编译器的缺省对齐方式__attribute__选项pragma pack示例什么是字节对齐 在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结原创 2018-01-23 17:14:22 · 477 阅读 · 0 评论