<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Accowo的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_43577613</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_43577613]]></copyright><item><title><![CDATA[【C语言】详解C语言字节打包：运算符优先级、按位或与字节序那些坑]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/157067249</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/157067249</guid><author>qq_43577613</author><pubDate>Sat, 17 Jan 2026 19:14:32 +0800</pubDate><description><![CDATA[本文详解C语言字节打包中的常见问题，重点分析运算符优先级和按位或操作的正确使用。通过实例代码展示新手常见错误：加法运算符优先级高于移位运算导致逻辑错误，以及使用加法替代按位或的潜在风险。文章提出最佳实践方案：使用括号确保运算顺序，优先采用按位或进行字节拼接，并讨论字节序对代码移植性的影响。最终给出修正后的大端序实现代码，总结出5个核心要点，帮助开发者编写更健壮、可移植的字节处理代码。]]></description><category></category></item><item><title><![CDATA[【Git】Git临时回退查看版本？这3种安全方式必收藏]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/155843589</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/155843589</guid><author>qq_43577613</author><pubDate>Fri, 12 Dec 2025 09:47:16 +0800</pubDate><description><![CDATA[摘要： 本文介绍3种安全查看Git历史版本的方法，避免影响当前开发分支： git checkout：进入分离头指针状态，临时查看指定提交（git checkout &lt;提交ID&gt;），查看后切回原分支即可。 git switch --detach（Git 2.23+推荐）：功能与checkout相同，但语义更清晰。 git worktree：创建独立目录并行查看多版本（git worktree add &lt;路径&gt; &lt;提交ID&gt;），适合对比代码场景。 避坑提示：避免使用git r]]></description><category></category></item><item><title><![CDATA[【RTT】网页版本RTT LOG]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/154021254</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/154021254</guid><author>qq_43577613</author><pubDate>Tue, 28 Oct 2025 15:56:08 +0800</pubDate><description><![CDATA[【RTT】网页版本RTT LOG 使用DAPLink。]]></description><category></category></item><item><title><![CDATA[理解电力系统中的有功功率与视在功率及其计算方法]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/151957616</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/151957616</guid><author>qq_43577613</author><pubDate>Mon, 22 Sep 2025 11:03:08 +0800</pubDate><description><![CDATA[本文介绍了电力系统中的有功功率和视在功率概念及其计算方法。有功功率（P）反映电路实际消耗的功率，计算为电压电流瞬时值乘积的平均值；视在功率（S）是电压电流有效值的乘积，表示电路总容量。功率因数（PF）为P/S，衡量电能利用效率。文章详细推导了有效值、有功功率的计算公式，并提供了C语言示例代码。理解这些概念对电力系统设计与能效优化至关重要。]]></description><category></category></item><item><title><![CDATA[【C语言】环形缓冲区ringbuffer]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/150022521</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/150022521</guid><author>qq_43577613</author><pubDate>Thu, 07 Aug 2025 20:48:59 +0800</pubDate><description><![CDATA[环形缓冲区]]></description><category></category></item><item><title><![CDATA[【698协议】bit-string 数据类型]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/149960886</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/149960886</guid><author>qq_43577613</author><pubDate>Wed, 06 Aug 2025 10:02:26 +0800</pubDate><description><![CDATA[bit string]]></description><category></category></item><item><title><![CDATA[使用 Wireshark 抓取类似的 HTTP 请求包]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/142706834</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/142706834</guid><author>qq_43577613</author><pubDate>Fri, 04 Oct 2024 20:23:15 +0800</pubDate><description><![CDATA[使用 Wireshark 抓取类似的 HTTP 请求包]]></description><category></category></item><item><title><![CDATA[windows+vscode+arm-gcc+openocd+daplink开发arm单片机程序]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/142614748</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/142614748</guid><author>qq_43577613</author><pubDate>Sat, 28 Sep 2024 13:33:06 +0800</pubDate><description><![CDATA[windows+vscode+arm-gcc+openocd+daplink开发arm单片机程序，脱离keil。目前发现的最佳解决方案是，使用vscode+embedded ide插件。]]></description><category></category></item><item><title><![CDATA[【698协议】帧校验算法]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/139216757</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/139216757</guid><author>qq_43577613</author><pubDate>Sun, 26 May 2024 16:44:02 +0800</pubDate><description><![CDATA[【698协议】帧校验算法]]></description><category></category></item><item><title><![CDATA[【python】串口双向透传python小程序]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/139160461</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/139160461</guid><author>qq_43577613</author><pubDate>Fri, 24 May 2024 00:12:55 +0800</pubDate><description><![CDATA[串口双向透传python小程序。]]></description><category></category></item><item><title><![CDATA[【数据处理】中位数绝对偏差，排除异常值，少数服从多数]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/136826059</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/136826059</guid><author>qq_43577613</author><pubDate>Tue, 19 Mar 2024 00:21:48 +0800</pubDate><description><![CDATA[MAD数据处理，排除异常值，少数服从多数，c语言实现]]></description><category></category></item><item><title><![CDATA[【JavaScript】MQTTX-脚本-自定义函数-payload json格式化]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/134028085</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/134028085</guid><author>qq_43577613</author><pubDate>Wed, 25 Oct 2023 10:05:19 +0800</pubDate><description><![CDATA[【代码】【JavaScript】MQTTX-脚本-自定义函数-payload json格式化。]]></description><category></category></item><item><title><![CDATA[【JavaScript】MQTTX-脚本-自定义函数-payload过滤]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/134027669</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/134027669</guid><author>qq_43577613</author><pubDate>Wed, 25 Oct 2023 09:59:42 +0800</pubDate><description><![CDATA[【代码】【JavaScript】MQTTX-脚本-自定义函数-payload过滤。]]></description><category></category></item><item><title><![CDATA[【c/c++】c和cpp混合编译]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/132629288</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/132629288</guid><author>qq_43577613</author><pubDate>Fri, 01 Sep 2023 18:58:41 +0800</pubDate><description><![CDATA[在这段代码中，#ifdef __cplusplus 和 #endif 之间的代码是为了在 C++ 中使用 C 语言的函数声明和定义时，确保编译器正确地处理 C 和 C++ 之间的语法差异。这是因为 C 和 C++ 有一些不同之处，包括函数名的重载、类型转换等。在这段代码中，extern “C” 是一个 C++ 的特性，它告诉编译器要按照 C 的方式来处理其中的函数。：这个条件编译指令检查是否正在编译 C++ 代码。__cplusplus 是一个宏，当编译器编译 C++ 代码时，它会被定义。]]></description><category></category></item><item><title><![CDATA[【windows】查看和开放特定的端口]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/132537593</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/132537593</guid><author>qq_43577613</author><pubDate>Mon, 28 Aug 2023 14:05:23 +0800</pubDate><description><![CDATA[按下 Win + R 键，然后输入 “control” 并按下 Enter 键，打开控制面板。在控制面板中，选择 “系统和安全”，然后选择 “Windows Defender 防火墙”。在右侧窗口中，点击 “入站规则”，然后在右侧面板点击 “新建规则…可以选择 “公共”、“专用” 或 “域”，具体根据你的网络设置选择。选择 “特定本地端口”，然后输入要打开的端口号（例如，1883）。在向导中选择 “端口” 选项，然后点击 “下一步”。选择 “允许连接”，然后点击 “下一步”。检查配置，然后点击 “完成”。]]></description><category></category></item><item><title><![CDATA[【c语言】snprintf和strncpy]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/132281327</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/132281327</guid><author>qq_43577613</author><pubDate>Mon, 14 Aug 2023 18:27:51 +0800</pubDate><description><![CDATA[snprintf是C语言中用于格式化字符串输出的函数，用于将格式化的数据写入一个字符串缓冲区。与printf不同，snprintf允许您指定输出的最大长度，以避免缓冲区溢出。如果传递给snprintf的第二个参数小于等于输出的字符数（包括结尾的null字符\0），snprintf会确保输出的内容不会超出指定的长度，并在缓冲区的末尾添加一个null字符来终止字符串。这样可以防止缓冲区溢出，并确保输出的字符串始终是以null字符结尾的合法字符串。]]></description><category></category></item><item><title><![CDATA[【设计模式】 策略模式]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/132005798</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/132005798</guid><author>qq_43577613</author><pubDate>Sun, 30 Jul 2023 12:24:43 +0800</pubDate><description><![CDATA[（Strategy Pattern）是一种行为型设计模式，它定义了一系列算法，将每个算法封装起来，使它们可以相互替换，让客户端代码和算法的具体实现解耦。这样，客户端可以根据不同的需求选择不同的算法，而无需修改原有的代码。]]></description><category></category></item><item><title><![CDATA[【设计模式】简单工厂模式]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/132004092</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/132004092</guid><author>qq_43577613</author><pubDate>Sun, 30 Jul 2023 10:37:17 +0800</pubDate><description><![CDATA[工厂模式是一种灵活且可扩展的设计模式，它通过封装对象的创建过程，帮助我们降低代码的耦合度，并支持系统的扩展和维护。然而，工厂模式也有一些局限性，例如增加了类的数量和抽象性，可能会增加代码的复杂性和理解难度。：如果需要添加新类型的产品（图形），只需要添加一个新的产品类和对应的工厂方法即可，不需要修改现有代码，符合开闭原则。：客户端只需与抽象产品和抽象工厂进行交互，不关心具体的产品类和工厂类，隐藏了产品对象的具体实现。：每个具体产品都需要一个对应的具体工厂类，如果产品较多，会增加类的数量，增加系统复杂性。]]></description><category></category></item><item><title><![CDATA[【JavaScript】 var let const 的区别]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/131927828</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/131927828</guid><author>qq_43577613</author><pubDate>Tue, 25 Jul 2023 22:40:05 +0800</pubDate><description><![CDATA[推荐使用let和const来声明变量，因为它们提供了更严格的作用域规则和更安全的变量声明方式。只有在特定情况下需要在整个函数内部使用变量时，才应该使用var。let声明的变量具有块级作用域，意味着在{}内声明的变量只在该块内部可见，在外部不可访问。let是在ES6（ECMAScript 2015）中引入的声明变量的关键字。let声明的变量可以被重新赋值，但不可以重新声明。]]></description><category></category></item><item><title><![CDATA[Windows 启用 SSH 作为远程主机]]></title><link>https://blog.youkuaiyun.com/qq_43577613/article/details/131904189</link><guid>https://blog.youkuaiyun.com/qq_43577613/article/details/131904189</guid><author>qq_43577613</author><pubDate>Mon, 24 Jul 2023 20:29:13 +0800</pubDate><description><![CDATA[安装后，可从使用 PowerShell 安装了 OpenSSH 客户端的 Windows 10 或 Windows Server 2019 设备连接到 OpenSSH 服务器，如下所示。扫描列表，查看是否已安装 OpenSSH。设置完成后，回到“应用”>“应用和功能”和“可选功能”，你应会看到已列出 OpenSSH。选择“是”后，该服务器会添加到包含 Windows 客户端上的已知 SSH 主机的列表中。系统此时会提示你输入密码。打开“设置”，选择“应用”>“应用和功能”，然后选择“可选功能”。]]></description><category></category></item></channel></rss>