自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 【内存对齐】第七篇·嵌套构造类型的对齐规则{共用体}

上一篇:【内存对齐】第五篇·嵌套构造类型的对齐规则{数组} 结构体{ 共用体 }数组{ 共用体 }共用体 { 共用体 }结构体{ 共用体 }当结构体中包含共用体的时候,可以猜测,Size 应该是先计算共用体整体的Size,再将其作为一个成员放到结构体中按照结构体的方式计算 Size。共用体的 Size=3 可能会是个特殊的例子,我们来验证下:struct test_st{ char meat; union test_u{ char grass[3];

2021-08-28 22:43:07 261

原创 【内存对齐】第六篇·嵌套构造类型的对齐规则{数组}

上一篇:【内存对齐】第五篇·嵌套构造类型的对齐规则{结构体} 结构体{ 数组 }数组 { 数组 } = 多维数组共用体 { 数组 }结构体{ 数组 }对于结构体中包含数组这种情况,还是比较常见的。按照数组的规则,和结构体嵌套结构体的规则,可以猜测:相当于将数组打开为多个同样大小的结构体成员。验证:struct test_st{char meat[3];}test; Size: 3 Address: 0x00000001004071a4struct test_st{char meat

2021-08-06 16:01:13 377

原创 【内存对齐】第五篇·嵌套构造类型的对齐规则{结构体}

上一篇:【内存对齐】第四篇·Array、Union内存对齐的规律与原则首先,定义规则的人应该希望:前面各种构造类型的规则,如果可以递归,就可以用于嵌套的构造类型。所以我们只需要猜想并进行验证即可。根据构造类型的排列组合,我们可以将嵌套方式分为如下几种:外层类型内层类型数组结构体共用体结构体结构体结构体结构体数组数组数组共用体数组结构体共用体数组共用体共用体共用体本篇介绍前3种的对齐规则。 数组 { 结构体 }

2021-07-20 22:35:30 633

原创 【内存对齐】第四篇·Array、Union内存对齐的规律与原则

上一篇:【内存对齐】第三篇·显式干预对齐的三种方法除了 struct,其他构造类型包括 union,array。我们通过前面的讨论,已经基本理清了简单结构体的内存对齐规则。 下面将探讨 “union 联合体”,“array 数组” 的对齐规则。 Array 数组的对齐规则Union联合体/共用体 的对齐规则Array 数组的对齐规则先来讨论下 array 数组类型 的对齐规则。数组本身就是由很多相同类型的数据类型组成的,所以有:a. 其元素的宽度应该是 2 的倍数(不算最小的char[1]);

2021-06-22 22:42:18 537

原创 【内存对齐】第三篇·显式干预对齐的三种方法

介绍3种方法,显式干预对齐:方法一 预编译 #pragma pack(n)方法二 __ attribute__ 参数方法三 编译选项 -fpack-struct。

2021-04-15 22:35:09 318

原创 【内存对齐】第二篇·结构体内存对齐的规律与原则

C刺五步蛇第一步 提出问题第二步 编程实现第三步 探究规律Step1. 结构体中只有一个成员Step2. 结构体中有2个成员Step3. 结构体中有3个及以上成员Step3-1. 结构体中有多个 同类型 成员Step3-2. 结构体中有多个 不同类型 成员第四步 得到结论第五步 求证与验证第一步 提出问题首先,我们确定我们这一阶段的目标:结构体变量的首地址是如何得到的?探究结构体变量的大小是如何确定的?第二步 编程实现为了探究上面提出的两个问题,我们先尝试将结构体定义为全局变量(局部变量可能

2021-04-09 23:18:34 312

原创 【内存对齐】第一篇·一道 sizeof 的 面试笔试题 带来的深刻反思

去面试的时候笔试遇到的一个问题,挺基础的,却一知半解。于是决定,边测试边整理,深入地探究一下“内存对齐”这个问题。先给出正确答案:在32-bit编程环境下,char占用1字节,short占用2字节,int占用4字节。sizeof(name1) = 8,sizeof(name2) = 12。最基本的参考,应该是来自于《C Primer Plus》,查找自己的C语言读书笔记,找到这么一段摘录:字节对齐三条准则:a) 结构体变量的首地址可以被其最宽基本类型成员的大小整除。

2021-04-07 12:01:42 383 6

原创 【C字符串处理】【参数传递】 一次又傻又颇有成就感的 服务器自动编译 参数传递 调试经历

目录故事背景需求实现 - 误以为是字符串Step 1. “数值+字符”-->“数值+字符串”Step 2. “字符串指针报错”-->暴力制造“整形数组”Step 3. "全局初始化"--> “使用前重赋值”(重要转折)Step 4. "strcpy/strncpy"赋值(重要实现方法)step 5. 整理,关联服务器参数step 6. 传递空 != 传递0实现 - 将没有类型的宏变为字符串Step 1. 讨论,定方案Step 2. C语言#的妙用Step 3. 知其然,更要知其所以然总结

2020-07-23 08:40:40 676 2

原创 [日常刷题] C语言:在 平方和 算例中用浮点型还是整形?

原文(自己的Draft)标题:一个double引发的long (漫长)思考前言:先说说刷题。我的好朋友去了某知名高薪大企业,跟我闲聊第一句话就是“你日常刷题么?”他说,这个大企,除了工作任务,还要日常刷题。我说:“我要去这个大企,是不是现在就得刷起来?”,他说,去了再刷也不迟。我内心:虽然从不刷题,但我日常随便写写代码也算是刷题吧,练的是…手速,也是程序员引以为豪常拿出来攀比的一个技能呢,哈哈...

2020-05-01 16:47:54 554

原创 [Sensor] PIR & 热释电效应 & 菲涅尔透镜

前言:作为一名嵌入式软件工程师,适当懂些硬件就行。但我就是“好高骛远”啊,对硬件的原理也充满了好奇。很多自然的原理被利用起来真的很神奇,就像我当前项目中正在使用的一款传感器——PIR,利用假期稍微做个了解,也不求积累。说明:(括号中的参考和灰色块引用内容)为扩展性的内容,不必要点开阅读。而非括号部分为本人不想拾人牙慧,又想娓娓道来,而直接给出的参考,需要点开阅读。目录什么是PIR?热释电效应...

2020-04-30 22:07:26 4228 4

原创 [Git] Authentication Failed 原理与解决方法

目录Step 0. PhenomenonStep 1. SolutionStep 2. AnalysisStep 3. Source Code or ReferenceStep 0. Phenomenon在使用Git(代码仓库平台不是GitHub,而是Gogs,但原理相通)的时候,Push代码遇到这样一个问题,报错 Authentication Failed。Step 1. Solutio...

2020-04-29 12:48:23 4719

原创 【简短测评】百元内蓝牙无线耳机,帮你避坑

感谢T宝的7日免费试用,和30天免费试用的商家活动!虽然不知道其中套路,但今天退货成功了,让我发现我最终还是有机会无损选择一款适合的耳机的。目标:双十一打算入手一款蓝牙耳机,上一个在11月1日坏掉了,难道是上天的指示?预算100以内,其他要求,额。。。看下图吧:为什么要写这篇简短测评? T宝的假评价太多了,买之前参考,也只是宏观性的参考了。而实际使用之后,客观评价,让大家买之前不容易踩坑,...

2019-11-24 13:22:43 568

原创 环境配置 - 《OPL1000 自学整理教程》

0,硬件环境:DevKit或LM80(本人使用LM80),MCU是A1或A2,本教程使用A2。官网 要联系sales批量购买。考虑到这款产品的小众性质,这里给出一个T宝链接,可以参考着买,我是直接从厂家要的,也没有在淘宝上买过,这家店也没接触过,不知道质量怎样,如果有人买了,记得在这篇博客的下面评论区留言交流。1, 编译环境:uVision Keil (本人使用版本是v5.28)2, 串口...

2019-11-22 00:16:24 1307 11

原创 通读Docs - 《OPL1000 自学整理教程》

通读Docs新接触任何一款MCU,没有指导,自己摸索的情况下,第一件事情都应该是通读参考文档,参考文档一般分为Common的和Private的(我自己这么分的),也就是通用型的,和专用型的。通用型的就是不论哪一个应用都会涉及到的,也就是基础的。专用型的,一般是对一个Demo或程序进行的说明,一般不和通用型文档放在一起。先读通用型的,基本上文档一打开简单看看前言目录,就知道是哪一类。这篇就是整理...

2019-11-08 21:25:20 1388

原创 写在前面的话与目录 - 《OPL1000 自学整理教程》

OPL1000 自学整理教程OPL1000分为OPL1000A1和OPL1000A2两款芯片(未来还有可能更多),可以说是非常小众的嵌入式芯片了,由 Opulinks 旺凌科技 设计制造。接触这款产品,主要是因为其WiFi超低功耗解决方案,能够满足我要设计的一款产品的需求。写在前面的话因为工作原因,在这款芯片上面进行开发,自己并不是嵌入式的大牛,但是这款芯片的嵌入式程序用到了很多主流的...

2019-10-27 20:05:35 717

原创 【简短测评】在线音乐播放器,哪一款适合写代码时候使用

在线音乐播放器简短测评如果写代码时总想听听音乐如果写代码时总想听听音乐我是个写代码时候不想让耳朵闲下来的人。听英语练听力,占用了脑子,代码也写不好,所以只能听歌,不用往脑子里进的那种。一直以来,都是使用163.music,请原谅程序员偏执地喜欢直接用URL表达。最近发现163.music有个弊端,就是我收藏的音乐莫名其妙听不了了,还不止一个。嗯…下架?到期?想搞清楚这个还不如找个替代品。于是...

2019-10-19 21:49:54 570

原创 【Experience Summary】出差布置产线

前言2017年12月份,完成了Reality SmartSwitch 的基本功能,以及生产测试程序的基本功能,开始了漫长的布置产线生涯。之所以漫长,是因为自己的经验不足,能力不足。错误和不利是我造成的,但我原谅自己,毕竟,那是我入行的第一年,回望这一年,能做到这样,我觉得自己已经超过预期了。何况6月份才放下了ESP8266的开发。今日,2019年,足够的时间去沉淀这一段”出差+开发“的阶段,...

2019-09-22 09:02:11 288

原创 实践 C++ MFC界面读写USB HID设备数据程序

在开发了一个多线程USB烧写程序后,得到新的任务,要将HID的内容放到里面,没有人带着做细致的讲解,靠自己自生自灭: 1, 什么是HID?(项目要的急,没有什么了解就开始了!只知道,在Windows->DeviceManager下面有时候找COM端口的时候,会去人体输入学设备里面找,里面有鼠标键盘之类的HID,具体是啥还不知道。)HID: 猜想是 Hardware ID,用来标记...

2018-12-11 13:58:15 6249 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除