自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 在嵌入式平台gec6818上安装 gdb 调试工具

由于在开发板中没有gdb调试工具,在测试程序需要打印。通过在开发板中安装gdb可以大大提高开发效率

2024-03-13 15:51:25 350

翻译 使用 Markdown 绘制图表

您可以通过添加自定义 CSS:root {请注意,如果您导出的文档具有当前使用的主题以外的其他主题,则某些mermaid选项将不会应用于导出的 HTML/PDF/图像。例如,如果您当前使用它们 Github,但在导出到 PDF 时,您为 PDF 导出设置了主题 YYY,并且 YYY.css 定义,则不会应用于导出的 PDF。

2024-02-01 16:02:50 92

原创 wsl2 桥接模式+ssh+vscode配置

使用本文档中使用的方法配置只需将.wslconfig的内容清空,再重启,wsl就会恢复nat模式,推荐使用镜像模式,有关镜像模式的详情请看这里。

2024-01-31 16:31:39 953

原创 C++使用json在Linux中实现TCP通信

最近在学习使用json格式在Linux中进行tcp通信,以下为学习笔记我使用的第三方库为, 仓库地址为nlohmann/json: JSON for Modern C++ (github.com)的所有代码都保存在单个头文件中,所以要使用,需要在实现文件中包含json的发送与接收要发送json格式的数据时需要先将其转换为二进制数据,我使用以下代码实现转换在接收到json的二进制数据后,再将其转换为json格式代码实例我封装了一个用于json与内置数据类型与STL容器转换的类以下为在客户端与服务端

2022-06-28 22:38:31 2203 1

原创 c++STL算法 copy, uninitialized_copy, copy_backward的使用及源码剖析

参考文档copy - C++ Reference (cplusplus.com)将区间[first, last)内的元素复制到result指向的内存地址开始的内存区域中底层实现其实现与以下代码等价返回值一个指向复制的元素末尾的迭代器代码输出uninitialized_copy参考文档uninitialized_copy - C++ Reference (cplusplus.com)std uninitialized_copy - 简书 (jianshu.com)底层实现其实现与以下代码等价.

2022-06-11 10:22:36 824

原创 find及find_if的使用及其源码剖析

注:自定义类要使用该函数需要重载==运算符函数函数说明寻找指向与value相等的元素

2022-06-09 10:27:42 411

原创 lambda表达式学习笔记

lambda 表达式定义了一个匿名函数,并且可以捕获一定范围内的变量优点声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象。以更直接的方式去写程序,好的可读性和可维护性简洁:不需要额外再写一个函数或者函数对象,避免了代码膨胀和功能分散,让开发者更加集中精力再手边的问题,同时也获取了更高的生产率在需要的事件和地点实现功能闭包,使程序更灵活......

2022-06-08 16:20:56 63

原创 c++ Linux系统编程 基于文件描述符的文件操作

文件描述符可以实现进程和打开文件之间的交互文件操作打开文件函数原型返回值执行成功时,open函数返回一个文件描述符,表示已经打开的文件;执行失败时,open函数返回-1,并设置相应的errno参数列表flags和mode都是一组掩码的合成值flags表示打开或创建的方式flags可选项使用完文件,要调用close关闭文件描述符mode 表示文件的访问权限示例创建文件函数原型文件关闭使用完文件,要使用close来关闭文件。函数说明调用close后,该进程对文件所加的锁全都被释放,并且使文件的打

2022-06-07 16:31:52 570

原创 c++ log4cpp的实现 包含使用实例和下载源码

创建一个Appender,并指定其包含的Layout从系统中得到Category的根,将Appender添加到该Category中;设置Category的优先级记录日志关闭Category不要手动释放Category、Appender和Layout同一个Appender不要加入多个Category,否则它会被释放多次从而导致程序崩溃同一个Layout不要附着到多个Appender上,否则也会被释放多次导致程序崩溃每个Appender都设置了一个Layout,用于定义这个Appender日志的格式log4cp

2022-06-07 16:23:40 583

原创 c++ 单例模式介绍与实现以及单例模式的自动释放

不能是栈对象只能是堆对象,且在类内部只要出现全局对象的地方都可以使用单例模式取代全局变量的位置全局唯一的资源或只需要出现一个配置文件、网页库、字典库、日志系统写的日志对象配置文件的信息是程序的输入内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例避免对资源的多重占用(比如写文件操作)没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。将构造函数私有化这样该类就不会被实例化例定义一个私有的静态数据成员指针,指向本类型的对象,即单例对象私有的本类型静态数

2022-06-07 16:13:54 923

原创 GDB学习笔记

GDB调试器可以运行你在程序运行的时候检查里面发生了什么设置断点使程序在指定的代码行上暂停执行,便于观察单步执行程序,便于调试查看程序中变量值的变化动态改变程序的执行环境分析崩溃程序产生的core文件安装命令检查gdb是否成功安装使用gdb进行调试前需要先编译目标文件在编译时必须添加-g选项Tips:编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main回车键:重复上一命令set arg 设置命令行参数list 查看我们的源代码break b 打断点inf

2022-06-07 15:45:12 108

原创 inline函数学习笔记

定义函数时,在函数的最前面以关键字“inline”声明函数,即可使函数称为内联声明函数关键字 inline 必须与函数定义体放在一起才能使函数成为内联,仅将 inline 放在函数声明前面不起任何作用 对于同一程序的不同文件,如果inlne函数出现的话,其定义必须相同。对于由两个文件computer.c和draw.c构成的程序来说,程序不能定义这样的min()函数,它在cmputer.c中指一件事情,而在draw.c中指另外一件事情。如果两个定义不相同,程序将会有未定义的行为。 为保证不会发生这样..

2022-06-07 15:33:22 132

原创 c++引用学习笔记

引用变量是一个别名,通过它可以操作其所引用的变量相当于变量的别名,可以直接修改引用绑定的变量**引用 约等于 const * **左值右值代码实现左值引用在汇编层面其实和普通的指针是一样的;定义引用变量必须初始化,因为引用其实就是一个别名,需要告诉编译器定义的是谁的引用。上述代码无法编译通过,因为10无法进行取地址操作,无法对一个立即数取地址,因为立即数并没有在内存中存储,而是存储在寄存器中,可以通过以下方法进行引用使用常引用来引用常量数字10,因为此刻内存上产生了临时变量保存了10, 这个临时变量是可以

2022-06-07 15:30:34 42

原创 const 修饰符

修饰类型 char/short/int/long特点在预编译阶段只是替换,没有类型检查,不会检查代码错误宏定义是直接替换不会分配内存宏定义可以通过#undef来使之前的宏定义失效宏定义不能作为参数传递给函数宏的好处定义代码或字符串、方法、参数const不能坏处使用大量宏,容易造成编译实际久,每次都需要重新替换特点在编译阶段,即程序运行时的一段代码有常量声明,在编译时会进行类型检查,会编译报错const常量定义是要分配内存的,存储在程序的数据段中const常量定义后将在定义域内永久有效const常量可以在函数

2022-06-07 15:18:18 52

原创 C++命名空间

不同的头文件中可能用了相同的名字来定义类或函数,这样在程序中就会出现名字冲突 为了解决命名冲突 匿名的命名空间,即不必特别声明的命名空间 例如c的库函数与自己定义的函数 为了兼容c语言而提出的 ...

2022-06-07 15:15:38 39

一个封装好的基于log4cpp的日志记录类

c++ log4cpp的实现,可直接调用接口

2022-08-30

纯C实现的网盘项目,支持上传下载

一个完整的百度网盘项目,分为客户端与服务端,支持上传、下载和文件操作 支持文件秒传、断点续传和大文件传输优化,服务器端采用分时机制支持多端同时下载。

2022-06-07

空空如也

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

TA关注的人

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