<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[神奇的小强]]></title><description><![CDATA[嵌入式 AI 运动控制]]></description><link>https://blog.csdn.net/qq_26405165</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_26405165]]></copyright><item><title><![CDATA[校长 企业级C语言]]></title><link>https://blog.csdn.net/qq_26405165/article/details/156730486</link><guid>https://blog.csdn.net/qq_26405165/article/details/156730486</guid><author>qq_26405165</author><pubDate>Thu, 08 Jan 2026 17:57:44 +0800</pubDate><description><![CDATA[校长 企业级C语言。]]></description><category></category></item><item><title><![CDATA[【嵌入式总线通信协议库】]]></title><link>https://blog.csdn.net/qq_26405165/article/details/151935288</link><guid>https://blog.csdn.net/qq_26405165/article/details/151935288</guid><author>qq_26405165</author><pubDate>Sun, 21 Sep 2025 21:37:55 +0800</pubDate><description><![CDATA[本文介绍了一个嵌入式总线通信协议库，支持UART、SPI、I2C、I3C、CAN、Modbus等9种常用协议。项目采用模块化设计，每个协议独立实现，通过硬件抽象层(HAL)实现跨平台兼容。提供标准API接口，支持数据收发、参数配置等功能。使用CMake构建系统，严格遵循编码规范，包含详细注释和测试示例。该库适用于嵌入式设备开发，可简化通信协议实现，提高开发效率。项目已在Github开源。]]></description><category></category></item><item><title><![CDATA[Huawei C 安全函数库 ]]></title><link>https://blog.csdn.net/qq_26405165/article/details/151256532</link><guid>https://blog.csdn.net/qq_26405165/article/details/151256532</guid><author>qq_26405165</author><pubDate>Sat, 06 Sep 2025 15:15:02 +0800</pubDate><description><![CDATA[为安全C库函数是华为公司提供的一个专门针对C语言开发者的安全代码库，该库遵循C11标准中的Annex K条款，即边界检查接口（Bounds-checking interfaces）。这个代码库的主要目的是为了解决C语言传统函数如memcpy、strcpy等在运行时可能出现的内存越界问题，这类问题在常规编程中容易导致缓冲区溢出，进而可能被利用为安全漏洞。]]></description><category></category></item><item><title><![CDATA[Rust 基础01 Rust自定义安装及VsCode配置]]></title><link>https://blog.csdn.net/qq_26405165/article/details/144548291</link><guid>https://blog.csdn.net/qq_26405165/article/details/144548291</guid><author>qq_26405165</author><pubDate>Wed, 18 Dec 2024 04:29:02 +0800</pubDate><description><![CDATA[关注Rust技术👇👇👇享沉浸式编。]]></description><category></category></item><item><title><![CDATA[发现学习5G宝藏级书籍“考研二人组推荐”]]></title><link>https://blog.csdn.net/qq_26405165/article/details/142382030</link><guid>https://blog.csdn.net/qq_26405165/article/details/142382030</guid><author>qq_26405165</author><pubDate>Fri, 20 Sep 2024 12:55:13 +0800</pubDate><description><![CDATA[链接]]></description><category></category></item><item><title><![CDATA[使用C语言学校习图解算法]]></title><link>https://blog.csdn.net/qq_26405165/article/details/142308497</link><guid>https://blog.csdn.net/qq_26405165/article/details/142308497</guid><author>qq_26405165</author><pubDate>Mon, 16 Sep 2024 22:58:07 +0800</pubDate><description><![CDATA[图解算法 使用C语言 也就是通过C语言实现各种算法。]]></description><category></category></item><item><title><![CDATA[Vscode漂亮配色方案]]></title><link>https://blog.csdn.net/qq_26405165/article/details/132592038</link><guid>https://blog.csdn.net/qq_26405165/article/details/132592038</guid><author>qq_26405165</author><pubDate>Wed, 30 Aug 2023 22:44:59 +0800</pubDate><description><![CDATA[有需要的私自，付费。]]></description><category></category></item><item><title><![CDATA[现代C++新特性 扩展的聚合类型(C++17 C++20)（PC浏览效果更佳）]]></title><link>https://blog.csdn.net/qq_26405165/article/details/131628678</link><guid>https://blog.csdn.net/qq_26405165/article/details/131628678</guid><author>qq_26405165</author><pubDate>Sun, 09 Jul 2023 22:54:22 +0800</pubDate><description><![CDATA[1.聚合类型的新定义1.聚合类型的新定义C++17标准对聚合类型的定义做出了大幅修改，即从基类公开且非虚继承的类也可能是一个聚合。同时聚合类型还需要满足常规条件。1．没有用户提供的构造函数。2．没有私有和受保护的非静态数据成员。3．没有虚函数。在新的扩展中，如果类存在继承关系，则额外满足以下条件。4．必须是公开的基类，不能是私有或者受保护的基类。5．必须是非虚继承。]]></description><category></category></item><item><title><![CDATA[多进程共享内存]]></title><link>https://blog.csdn.net/qq_26405165/article/details/131446753</link><guid>https://blog.csdn.net/qq_26405165/article/details/131446753</guid><author>qq_26405165</author><pubDate>Wed, 28 Jun 2023 23:18:15 +0800</pubDate><description><![CDATA[一个6进程并发的共享内存的例子，5个子进程对共享内存写入不同数据，第6个进程负责读取数据另外5个进程全部写入的数据。]]></description><category></category></item><item><title><![CDATA[QNX交叉编译及运行摆脱IDE]]></title><link>https://blog.csdn.net/qq_26405165/article/details/131149180</link><guid>https://blog.csdn.net/qq_26405165/article/details/131149180</guid><author>qq_26405165</author><pubDate>Sun, 11 Jun 2023 02:12:50 +0800</pubDate><description><![CDATA[把交叉编译工具链qnx_cross_compile_toolchain.zip拷贝到交叉编译主机目录下，用unzip命令解压（不会unzip可以自行百度linux 下unzip命令），如Ubuntu22.04等。解压后可以用vscode打开交叉编译工具链的目录。]]></description><category></category></item><item><title><![CDATA[现代C++新特性 强枚举类型（PC浏览效果更佳）]]></title><link>https://blog.csdn.net/qq_26405165/article/details/125381724</link><guid>https://blog.csdn.net/qq_26405165/article/details/125381724</guid><author>qq_26405165</author><pubDate>Mon, 20 Jun 2022 22:37:19 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载 C++之父本贾尼·斯特劳斯特卢普曾经在他的The Design And Evolution Of C++一书中写道“C enumerations constitute a curiously half-baked concept.”。翻译过来就是“C语言的枚举类型构成了一个奇怪且半生不熟的概念”，可见这位C++之父对于enum 类型的现状是不满意的，主要原因是enum类型破坏了C++的类型安全。大多数情况下，我们说C++是一门]]></description><category></category></item><item><title><![CDATA[现代C++新特性 继承构造函数]]></title><link>https://blog.csdn.net/qq_26405165/article/details/125116806</link><guid>https://blog.csdn.net/qq_26405165/article/details/125116806</guid><author>qq_26405165</author><pubDate>Fri, 03 Jun 2022 22:34:22 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载 1.继承关系中构造函数的困局相信读者在编程经历中一定遇到过下面的问题，假设现在有一个类Base提供了很多不同的构造函数。某一天，你发现Base无法满足未来业务需求，需要把Base作为基类派生出一个新类Derived并且对某些函数进行改造以满足未来新的业务需求，比如下面的代码：


基类Base的SomeFunc无法满足当前的业务需求，于是在其派生类Derived中重写了这个函数，但令人头痛的是，面对Base中大量的构造函数，我]]></description><category></category></item><item><title><![CDATA[现代C++新特性 委托构造函数]]></title><link>https://blog.csdn.net/qq_26405165/article/details/124237445</link><guid>https://blog.csdn.net/qq_26405165/article/details/124237445</guid><author>qq_26405165</author><pubDate>Sun, 17 Apr 2022 22:11:15 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载

1.冗余的构造函

一个类有多个不同的构造函数在C++中是很常见的，例如：


class X {
public:
    X() : a_(0), b_(0.)
    {
        CommonInit(); 
    }
    X(int a) : a_(a), b_(0.) 
    { 
        CommonInit(); 
    }
    X(double b) : a_(0), ...]]></description><category></category></item><item><title><![CDATA[现代C++新特性 非受限联合类型]]></title><link>https://blog.csdn.net/qq_26405165/article/details/124204002</link><guid>https://blog.csdn.net/qq_26405165/article/details/124204002</guid><author>qq_26405165</author><pubDate>Fri, 15 Apr 2022 21:18:31 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载

1.联合类型在C++中的局限

在编程的问题中，用尽量少的内存做尽可能多的事情一直都是一个重要的课题。C++中的联合类型(union)可以说是节约内存的一个典型代表。因为在联合类型中多个对象可以共享一片内存，相应的这片内存也只能由一个对象使用，例如：


#include &lt;iostream&gt; 

union U {
    int x1;  
    float x2;
};

int main(int...]]></description><category></category></item><item><title><![CDATA[现代C++新特性 默认和删除函数]]></title><link>https://blog.csdn.net/qq_26405165/article/details/123908010</link><guid>https://blog.csdn.net/qq_26405165/article/details/123908010</guid><author>qq_26405165</author><pubDate>Fri, 01 Apr 2022 21:31:58 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载

​​​​​​​1.类的特殊成员函数



在定义一个类的时候，我们可能会省略类的构造函数，因为C++标准规定，在没有自定义构造函数的情况下，编译器会为类添加默认的构造函数。像这样有特殊待遇的成员函数一共有6个(C++11以前是4 个)，具体如下。

1．默认构造函数。

2．析构函数。

3．复制构造函数。

4．复制赋值运算符函数。

5．移动构造函数(C++11新增)。

6．移动赋值运算符函数(C++11新...]]></description><category></category></item><item><title><![CDATA[现代C++新特性 列表初始化]]></title><link>https://blog.csdn.net/qq_26405165/article/details/123885658</link><guid>https://blog.csdn.net/qq_26405165/article/details/123885658</guid><author>qq_26405165</author><pubDate>Thu, 31 Mar 2022 22:59:14 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载

1.回顾变量初始化

在介绍列表初始化之前，让我们先回顾一下初始化变量的传统方法。其中常见的是使用括号和等号在变量声明时对其初始化，例如：


struct C {
    C(int a) {}
};
int main(int argc, char** argv)
{
    int x = 5;   
    int x1(8);  
    C x2 = 4;
    C x3(4);
    retu...]]></description><category></category></item><item><title><![CDATA[现代C++新特性 非静态数据成员默认初始化]]></title><link>https://blog.csdn.net/qq_26405165/article/details/123860842</link><guid>https://blog.csdn.net/qq_26405165/article/details/123860842</guid><author>qq_26405165</author><pubDate>Thu, 31 Mar 2022 00:13:53 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载

1.使用默认初始化

在C++11以前，对非静态数据成员初始化需要用到初始化列表，当类的数据成员和构造函数较多时，编写构造函数会是一个令人头痛的问题：


class X {
public:
    X() : a_(0), b_(0.), c_("hello world") {}
    X(int a) : a_(a), b_(0.), c_("hello world") {}
    X(double ...]]></description><category></category></item><item><title><![CDATA[现代C++新特性 lambda表达式]]></title><link>https://blog.csdn.net/qq_26405165/article/details/123834731</link><guid>https://blog.csdn.net/qq_26405165/article/details/123834731</guid><author>qq_26405165</author><pubDate>Tue, 29 Mar 2022 23:37:56 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载

1.lambda表达式语法

lambda表达式是现代编程语言的一个基础特性，比如LISP、Python、C#等具备该特性。但是遗憾的是，直到C++11标准之前，C++都没有在语言特性层面上支持lambda表达式。程序员曾尝试使用库来实现lambda表达式的功能，比如Boost.Bind或Boost.Lambda，但是它们有着共同的缺点，实现代码非常复杂，使用的时候也需要十分小心，一旦有错误发生，就可能会出现一...]]></description><category></category></item><item><title><![CDATA[现代C++新特性 左值引用与右值引用]]></title><link>https://blog.csdn.net/qq_26405165/article/details/123807866</link><guid>https://blog.csdn.net/qq_26405165/article/details/123807866</guid><author>qq_26405165</author><pubDate>Mon, 28 Mar 2022 23:02:23 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载

左值和右值

左值和右值的概念早在C++98的时候就已经出现了，从 简单的字面理解，无非是表达式等号左边的值为左值，而表达式右边的值为右值，比如：


int x = 1;
int y = 3;
int z = x + y;


以上面的代码为例，x是左值，1是右值；y是左值，3是右值；z 是左值，x+y的结果是右值。用表达式等号左右的标准区分左值和右值虽然在一些场景下确实能得到正确结果，但是还是过于简单...]]></description><category></category></item><item><title><![CDATA[现代C++新特性 函数返回类型后置]]></title><link>https://blog.csdn.net/qq_26405165/article/details/123745020</link><guid>https://blog.csdn.net/qq_26405165/article/details/123745020</guid><author>qq_26405165</author><pubDate>Fri, 25 Mar 2022 20:56:06 +0800</pubDate><description><![CDATA[文字版PDF文档链接：现代C++新特性(文字版)-C++文档类资源-CSDN下载

使用函数返回类型后置声明函数

前面已经出现了函数返回类型后置的例子，接下来我们将详细讨论C++11标准中的新语法特性：


auto foo()-&gt;int
{
    return 42;
}


以上代码中的函数声明等同于int foo()，只不过采用了函数返回类型后置的方法，其中auto是一个占位符，函数名后-&gt;紧跟的int 才是真正的返回类型。当然，在这个例子中传统的函数声明方式更加简洁。而...]]></description><category></category></item></channel></rss>