- 博客(22)
- 收藏
- 关注
原创 【C++】标准库中用于组合多个值的数据结构pair、tuple、array...
在 C++ 标准库中,有多种数据结构可用于组合多个值,每种结构都有其特定的设计目的和适用场景。
2025-08-16 11:35:05
523
原创 【C++】高效资源管理四剑客:RVO、NRVO、std::move、RAII 深度解析
🧩 代码简洁:消除 try-catch-finally 模式。💡 异常安全:栈展开时自动释放资源。🔒 无资源泄漏:作用域结束必释放。资源生命周期绑定对象生命周期。函数内直接在目标地址构造对象。消除具名局部对象返回的拷贝。消除返回临时对象的拷贝。在调用方栈帧预留对象空间。将空间地址隐式传递给函数。
2025-08-16 11:04:27
330
原创 【C++】默认构造函数,参数化构造函数,拷贝构造函数,拷贝赋值运算符, 移动构造函数 ,移动赋值运算符
②单参数构造函数可能引发隐式转换(用 explicit 禁止)①可带默认参数(Student(int age = 18))②若未声明任何构造函数,编译器自动生成(空实现)③用于容器默认初始化(如 vector(5))③标记 noexcept(影响容器操作)③应将源对象置于有效但可析构状态。②"窃取"源对象资源(如指针)①无参数或所有参数都有默认值。②编译器默认生成浅拷贝版本。②必须处理自赋值和资源释放。①高效转移资源,避免深拷贝。①处理深拷贝(资源复制)①处理已存在对象的赋值。转移资源到已存在对象。
2025-08-16 10:18:13
452
原创 Linux可执行文件ELF文件结构
编译器编译源代码后生成的文件叫做目标文件,而目标文件经过编译器链接之后得到的就是可执行文件。那么目标文件到底是什么?它和可执行文件又有什么区别?链接到底又做了什么呢?接下来,我们将探索一下目标文件的本质。
2025-06-04 22:22:52
866
原创 OpenHarmony编译之gn+ninja分析
build阶段分为preloader阶段、loader阶段、gn阶段、ninja阶段、postbuild阶段。Ninja 是一个高效的构建系统,专注于极简主义和构建速度,常被用作其他高级构建系统(如 CMake、Meson)的后端。ninja阶段,采用ninja工具+.ninja文件生成目标文件。定义:如何将输入文件转换为输出文件(如编译 .c → .o)。gn阶段生成ninja阶段所需要的.ninja文件。定义:构建的最终产物(如可执行文件、库)。作用:定义构建规则、依赖关系和目标。
2025-03-30 17:44:38
1066
原创 OpenHarmony 标准/小型/轻量 系统编译
官方路径:https://gitee.com/openharmony,进入以后在公告栏有最新版本路径:“社区已于2025-01-22发布OpenHarmony-v5.0.2-Release版本, 详情请参考https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v5.0.2-release.md”。建议选择 通过repo获取->方式一(推荐)->从版本发布Tag节点获取源码。hb set选择编译目标。
2025-03-22 10:20:04
1494
原创 【Git】Gitee将本地内容上传到远程仓
git commit -m “first commit” //将缓存区内容提交到本地仓。git add . //将工作区内容添加缓存区。git init //初始化本地仓。
2025-03-01 10:29:21
232
原创 C++ STL vector/list/deque/set/map学习
【代码】C++ STL vector/list/deque/set/map学习。
2024-12-18 22:32:10
148
原创 C++初始化
string* ps6 = new string{ “测试” };string* ps4 = new string(“测试”);string ss22 = “测试”;string ss6{ “测试” };string ss4(“测试”);
2024-12-18 17:58:46
133
转载 OpenHarmony源码学习之编译依赖(deps、external_deps)
OpenHarmony编译目标依赖deps、external_deps的使用。
2024-10-13 22:05:32
507
原创 使用OpenSSL创建自签名数字证书链例子2
最近做一个项目,需要用到自签名数字证书链。于是就研究了一下自签名数字证书链实现,把相关的OpenSSL命令放在下面供大家查询。这篇文章中证书采用的是ECDSA算法,如果要使用其它算法,如RSA算法,只需要将-newkey后面的参数ec:
2024-03-20 20:03:31
504
1
原创 使用OpenSSL创建自签名数字证书链例子
最近做一个项目,需要用到自签名数字证书链。于是就研究了一下自签名数字证书链实现,把相关的OpenSSL命令放在下面供大家查询。这篇文章中证书采用的是ECDSA算法,如果要使用其它算法,如RSA算法,只需要将-newkey后面的参数ec:
2024-03-09 13:26:57
635
原创 WSL + Ubuntu20.04编译 OH-4.0-Release遇到的问题(Too many open files和die__process_unit)及其解决办法...
WSL + Ubuntu20.04编译 OH-4.0-Release遇到的问题(Too many open files和die__process_unit)及其解决办法。
2024-01-28 11:04:25
1170
原创 OpenHarmony源码学习之编译过程
OpenHarmony构建工具由shell(.sh)、python(.py)、gn(.gn/.gni)、ninja(.ninja)、clang/llvm等构成。本文以 OpenHarmony-v3.2.4-release为例,附上下载链接。
2024-01-07 17:06:30
3718
1
原创 OpenHarmony源码学习之编译框架
OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代、基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。最近在学习OpenHarmony源代码,个人认为学习有三个阶段看、实操、写,本着学习的终极目标,因此有了这篇文章。
2023-12-23 10:44:56
3724
1
深入解析OpenWrt嵌入式操作系统的技术架构与应用
2025-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅