<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[glimix]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LifeAndC</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LifeAndC]]></copyright><item><title><![CDATA[Word-Pop：使用C语言开发打单词游戏]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/160288962</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/160288962</guid><author>LifeAndC</author><pubDate>Sat, 18 Apr 2026 23:55:13 +0800</pubDate><description><![CDATA[Word-Pop是一个基于控制台的打字游戏！非常适合有一定C语言基础的上手项目，现已更新完成！通过这个项目，你将理解或掌握这些技能：]]></description><category></category></item><item><title><![CDATA[Word-Pop：使用C语言开发打单词游戏（1）项目介绍]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/159966613</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/159966613</guid><author>LifeAndC</author><pubDate>Wed, 08 Apr 2026 21:44:24 +0800</pubDate><description><![CDATA[Word-Pop是一个基于控制台的打字游戏！]]></description><category></category></item><item><title><![CDATA[Proser：一款贴心的通信调试助手软件]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/158351827</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/158351827</guid><author>LifeAndC</author><pubDate>Tue, 24 Feb 2026 16:32:47 +0800</pubDate><description><![CDATA[Proser 是一款支持串口与网络的通信调试助手，其独有的协议编辑器、数据检视、标尺等功能，让指令模拟与数据分析更加易用。]]></description><category></category></item><item><title><![CDATA[Proser：增加16进制输入功能]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/157139374</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/157139374</guid><author>LifeAndC</author><pubDate>Mon, 19 Jan 2026 17:24:11 +0800</pubDate><description><![CDATA[测试时，输入一组16进制协议是件痛苦的事，尤其是针对确切的数据。一行密密麻麻的字符，让我们很难再次区分开哪个数据对应的是什么计量值，想要再修改一下，可能得数来数去。提供多行编辑及注释功能，不用说，非常实用。]]></description><category></category></item><item><title><![CDATA[使用C语言与Easy2D库开发推箱子游戏（1）]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/156955630</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/156955630</guid><author>LifeAndC</author><pubDate>Wed, 14 Jan 2026 23:24:05 +0800</pubDate><description><![CDATA[最后，为了开发一个带有“图片”的程序，我们需要一个2D引擎，这里我选择了自己基于SDL2封装的Easy2D库。这个库仅提供了非常简单的功能，但对于我们的学习，勉强够用，为此你需要先下载该库，然后基于自带的示例自学一翻。为核心玩法的益智解谜类游戏。对于这款游戏及其规则，相信我们都已了如指掌。这里我们使用C语言及Easy2D库，从项目建立、地图分析、场景输出、功能实现等，一步步来完成这个项目。如果你对SDL开发库感兴趣，可以去他们的主页看看！在实现项目的过程中，下面的连接可以作为参考。]]></description><category></category></item><item><title><![CDATA[博客迁徙至：glimix.com]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/154191522</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/154191522</guid><author>LifeAndC</author><pubDate>Fri, 31 Oct 2025 16:21:07 +0800</pubDate><description><![CDATA[博客迁徙至：glimix.com。]]></description><category></category></item><item><title><![CDATA[上位机与Modbus的32位数据交互]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/149261202</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/149261202</guid><author>LifeAndC</author><pubDate>Fri, 11 Jul 2025 00:03:12 +0800</pubDate><description><![CDATA[要得到原数，就需要调节字节顺序，同样，在上位机这边，如果要向。，上位机收到的字节流为。在小端模式下，如果用。]]></description><category></category></item><item><title><![CDATA[C++：为什么非虚析构在shared_ptr下能正确释放而unique_ptr却不行]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/148412044</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/148412044</guid><author>LifeAndC</author><pubDate>Tue, 03 Jun 2025 23:24:29 +0800</pubDate><description><![CDATA[也是只保存了Base的类型信息，但shared_ptr构造的时候能够拿到具体类型信息Derived*，并存到引用计数块去，引用计数块析构的时候调用的就是子类的析构函数了。在开始接触shared_ptr的时候我就发现了这个特性，由于当时对于模板的认知非常一般，故而没有深究。准备一探究竟的时候，搜索到了知乎上的这篇文章，就引用来。通过构造函数可以发现Derived*类型信息被保留到了_Yp = Derived，最终析构的时候就能调用_Yp的构造函数了。机械工业出版社《C++20高级编程》作者。]]></description><category></category></item><item><title><![CDATA[Proser：在使用中改进]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/147857944</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/147857944</guid><author>LifeAndC</author><pubDate>Sat, 10 May 2025 19:39:41 +0800</pubDate><description><![CDATA[这里忽略了协议前面11个字节与后面51个字节，全部以0代替；工作模式是1变化到4。可以想像，手动编辑63个字节的协议也是一件痛苦的事。上位机接收到下位机发送的协议，解析出工作模式，然后依据此模式切换到相应的界面。为了调试这个功能，由。大多数时候用于忽略一个数据块，因此用户更关注所忽略块的大小，而当前第一个参数却是要填充的值，这使得。最后，展示一下多次发的结果，特别标注了序列值的生成。是一个可选参数了，忽略时默认以0填充。在使用上有所不便，因此修改了语法，]]></description><category></category></item><item><title><![CDATA[Proser：重新介绍]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/147620821</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/147620821</guid><author>LifeAndC</author><pubDate>Tue, 29 Apr 2025 22:24:46 +0800</pubDate><description><![CDATA[影响这一构想的一个因素是，我一直没有写出理想的16进制编辑器。当然，没有这样的编辑器也可以，那样波形显示就比预想的功能会欠缺一点。Proser 是一款支持串口与网络的通信调试助手，其独有的协议编辑器、数据检视、标尺等功能，让指令模拟与数据分析更加易用。百度网盘：https://pan.baidu.com/s/1gH5203obkf3CLZ63_nh0IA?是业余抽时间实现的，没有经过太多的场景验证，难免存在Bug！现在间断更新下来，基本成了一款通信调试助手类软件，这篇便是新篇章的重新介绍吧。]]></description><category></category></item><item><title><![CDATA[C语言基础要素(019)：输出ASCII码表]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146989929</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146989929</guid><author>LifeAndC</author><pubDate>Thu, 03 Apr 2025 22:42:45 +0800</pubDate><description><![CDATA[计算机以二进制处理信息，但二进制对人类并不友好。比如说我们规定用二进制值 01000001 表示字母’A’，显然通过键盘输入或屏幕阅读此数据而理解它为字母A，是比较困难的。为了有效的使用信息，先驱者们创建了一种称为ASCII码的交换代码，全称是美国信息交换标准代码。ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码，使用7位二进制数（剩下的1位二进制为0）来表示所有的大写和小写字母，数字0到9、标点符号，以及在美式英语中使用的特殊控制字符。]]></description><category></category></item><item><title><![CDATA[C语言：一组位操作宏]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146980346</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146980346</guid><author>LifeAndC</author><pubDate>Thu, 03 Apr 2025 14:42:32 +0800</pubDate><description><![CDATA[解析协议时，取得位域的值是一种常见操作，这些宏可以辅助我们工作。]]></description><category></category></item><item><title><![CDATA[C语言基础要素(018)：循环控制：break与continue]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146540524</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146540524</guid><author>LifeAndC</author><pubDate>Wed, 26 Mar 2025 20:53:43 +0800</pubDate><description><![CDATA[有时你可能需要在循环过程中提前结束，比如说通过循环查找一个数值是否在一组数据中，如果找到且能提前退出循环，就可以避免后续的无用查找，提高程序效率。示例程序中，外层循环控制字母A-D，内层循环控制编号1-5。比如说游戏类程序，运行在这样一个无限循环中，在其中获取用户输入、渲染场景、输出画面等，直到用户按下退出按钮，此时设置循环控制变量为假，或使用break中断循环。在下面的程序，当i=3时，continue导致后续的语句不再执行，即本次循环体完成，然后跳转执行for的i++部分，以进行下次迭代。]]></description><category></category></item><item><title><![CDATA[Proser：新增亮色主题]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146514110</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146514110</guid><author>LifeAndC</author><pubDate>Tue, 25 Mar 2025 22:01:39 +0800</pubDate><description><![CDATA[Proser的功能开发目前暂停，现在主要做代码清理、新增了一套Light样式主题。]]></description><category></category></item><item><title><![CDATA[Proser：新增暗黑主题]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146385471</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146385471</guid><author>LifeAndC</author><pubDate>Thu, 20 Mar 2025 01:58:40 +0800</pubDate><description><![CDATA[Proser的功能开发目前暂停，新增了一套Drak样式主题。]]></description><category></category></item><item><title><![CDATA[C语言基础要素(017)：退出条件循环：do-while]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146327232</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146327232</guid><author>LifeAndC</author><pubDate>Mon, 17 Mar 2025 22:08:38 +0800</pubDate><description><![CDATA[入口条件循环是在执行循环体语句之前先检测条件，循环语句有可能一次也不执行。而退出条件循环，它的判断条件则在执行循环体之后进行检查，这表示循环体中的语句至少被执行一次。]]></description><category></category></item><item><title><![CDATA[Proser：重大更新，新增数据检视功能]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146325730</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146325730</guid><author>LifeAndC</author><pubDate>Mon, 17 Mar 2025 21:11:29 +0800</pubDate><description><![CDATA[第二行发送的数据，使用proser提供的数值转换功能，分别输出(int)1024与(float)3.14，下图是Proser检视后4个字节的结果。Proser中检视逻辑是以字节数量为依据的，如。如图所示，在左侧检视窗口中可以看到，当前右侧高亮的数据，其文本为。需要8个字节，而如果我们仅选择4字节时，此时数据可解释为。这是前4个字节检视为整数的效果。]]></description><category></category></item><item><title><![CDATA[C语言基础要素(016)：入口条件循环：while与for]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146302384</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146302384</guid><author>LifeAndC</author><pubDate>Sun, 16 Mar 2025 22:02:59 +0800</pubDate><description><![CDATA[程序按照我们书写的顺序依次执行语句，称为顺序结构。根据条件，在多个语句序列间选择执行一种情况，属于分支结构。还有一类在满足某个条件之前反复执行语句的结构，称为循环（迭代）语句。假定现在要完成“重要的事情说三遍”这一壮举，我们可以这么做。万一重要的事情要喋喋不休说个千百遍呢？显然，我们需要有更有效的方式去完成这件事，这正是循环语句的用武之地。]]></description><category></category></item><item><title><![CDATA[C语言基础要素(015)：分支控制：switch 语句]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146281983</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146281983</guid><author>LifeAndC</author><pubDate>Sat, 15 Mar 2025 17:16:37 +0800</pubDate><description><![CDATA[不过，由于switch语句在匹配分支后仍会向后执行的原因，程序在匹配元音字母后，仍会输出default分支的信息。注释掉错误语句后，程序的输出结果或许有些意外，虽然程序仅与 case 1 匹配，但后续的case语句序列也被执行了。如果switch语句没有default分支也没有匹配到其他分支，则该switch语句不执行任何动作，所以下面的示例没有任何输出。switch语句是一种多路判定语句，它测试表达式是否与一些常量数值中的某一个值匹配，并执行相应的分支动作。每一个由case语句表达的分支，都由一个。]]></description><category></category></item><item><title><![CDATA[Proser：新增指令批次发送功能]]></title><link>https://blog.youkuaiyun.com/LifeAndC/article/details/146244475</link><guid>https://blog.youkuaiyun.com/LifeAndC/article/details/146244475</guid><author>LifeAndC</author><pubDate>Thu, 13 Mar 2025 23:06:41 +0800</pubDate><description><![CDATA[起初设计时，希望指令集窗口自身包含指令的编辑功能，这部分功能与传输窗口的功能重合度高，所以设计上进行了简化，由用户在传输窗口输入指令，添加到指令集窗口，编辑时执行反向操作。Proser中的批次发送功能，是通过指令集进行管理的。这是一次批量执行后的示例。]]></description><category></category></item></channel></rss>