![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++开发
文章平均质量分 77
主要介绍C/C++的一些知识
大草原的小灰灰
消灭了一个bug,还会有千千万万个bug
展开
-
使用OpenCppCoverage统计代码覆盖率
OpenCppCoverage 是一款专为Windows平台设计的开源C++代码覆盖率统计工具。原创 2024-07-20 09:49:34 · 666 阅读 · 0 评论 -
使用RapidJson开源库解析和生成Json数据
RapidJSON是一个高效、轻量级的 C++ JSON 解析器及生成器库,由腾讯公司开源。RapidJSON 是只有头文件的 C++ 库。只需把 include/rapidjson 目录复制到项目中即可使用。原创 2024-05-12 12:01:58 · 900 阅读 · 0 评论 -
通过C++开源库TinyXML2解析和生成XML数据
TinyXML2是一个轻量级的、开源的C++库,专门用于解析和生成XML文档。它是原始TinyXML库的一个升级版本,设计得更为高效和强大,同时保持了简单易用的特点。TinyXML2非常适合那些需要处理XML数据,而又希望保持代码简洁和执行效率的应用场景。原创 2024-04-27 13:01:02 · 1279 阅读 · 0 评论 -
C++ UML 类图介绍与设计
UML(Unified Modeling Language),即统一建模语言,是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。原创 2024-04-14 17:23:33 · 1788 阅读 · 0 评论 -
使用c语言libexpat开源库解析XML数据
Expat 是一个用 C 语言编写的开源 XML 解析库,以其高性能和小巧的体积著称。Expat 兼容多种操作系统平台,包括但不限于 Windows、Linux、macOS 等。由于其跨平台特性和简单易用的API,Expat 成为了许多C/C++程序员解析XML文档的首选工具之一。原创 2024-04-04 09:54:36 · 1339 阅读 · 0 评论 -
SQLite数据库使用指南以及相关API编程
SQLite是一种基于C语言开发的轻量级、快速、自包含、高可靠性和全功能的SQL数据库引擎。它是全球范围内使用最为广泛的数据库引擎,被嵌入到所有移动设备和大部分计算机中,并且伴随着无数日常使用的应用程序一起提供。原创 2024-03-16 11:24:09 · 1058 阅读 · 0 评论 -
C++高性能日志库spdlog使用指南
Spdlog 专注于提供极致的性能,在大量日志记录场景下也能保持较低的延迟和较高的吞吐量。原创 2024-02-28 16:48:10 · 4434 阅读 · 2 评论 -
C++日志库plog使用指南
plog是一个轻量级、跨平台的C++日志库,它设计简洁且易于使用原创 2024-02-22 21:07:39 · 1816 阅读 · 1 评论 -
轻量级c语言开源日志库log.c介绍 - 实现不同级别和参数化日志打印
c语言没有现成的日志库,如果要记录日志,需要自己封装一个日志库。如果要实现日志级别区别和参数打印,还是比较麻烦的,正好在github找到了一个c语言开源日志库,可以实现日志级别打印,参数打印,而且还会记录日期和行号,最重要的是代码非常少,只有100多行,可以直接包含在我们自己的工程代码中,不需要任何依赖。原创 2023-09-18 19:07:42 · 4959 阅读 · 2 评论 -
使用WinDbg进行动态调试
本文章主要介绍如何使用WinDbg进行动态调试。如果程序崩溃后,没有记录dump文件,或者程序启动时发生异常,比如常见的 应用程序无法正常启动(0xc000007b) 报错,都可以使用WinDbg动态调试功能来定位问题。文章最后,对WinDbg常用命令进行了总结。原创 2023-09-09 13:08:25 · 824 阅读 · 0 评论 -
Dump文件的生成以及使用WinDbg静态分析
本文章主要介绍了如何生成Dump文件,包括两种方式,通过代码生成和通过注册表生成。并且介绍了WinDbg工具的下载和使用,以及如何使用WinDbg工具去静态分析Dump文件,从而找到程序的崩溃位置。原创 2023-09-03 00:03:06 · 760 阅读 · 0 评论 -
不同系统和架构下的宏定义名称
C/C++代码实现跨平台编译时,基本上都会调用系统函数,这个时候就可以使用不同系统下的宏定义来实现跨平台的编译。系统主要分为windows,linux和mac。架构主要指的是linux下的架构,常用的有x86,arm和mips架构。原创 2023-07-26 20:31:00 · 1262 阅读 · 0 评论 -
静态链接和动态链接 -- 静态加载(隐式调用)和动态加载(显式调用)
静态链接 : 由链接器在链接时将库的内容加入到可执行程序中,这里的库是静态库,Windos下是*.lib后缀,Linux下是*.a后缀。动态链接 : 可执行程序加载时(静态加载) 或者 运行时(动态加载),将库文件中的内容加入到可执行程序中,这里的库是动态库,Windows下是*.dll后缀,Linux下是*.so后缀。原创 2023-06-17 18:26:43 · 922 阅读 · 0 评论 -
C++字符串类std::string介绍
C++字符串类std::string介绍。原创 2022-07-16 12:44:58 · 6785 阅读 · 1 评论 -
图解快速排序
快速排序被誉为二十世纪十大算法之一,重要性不言而喻。思想: 1、先从数列中取出一个数作为基准数 2、将比基准数小的放到前面,比基准数大的放到右边(从小到大排序)。 3、再对左右区间重复第二步,直到各区间只有一个数。图解:我们对如下几个数从小到大进行排序第一步:选取基准数我们选择18为基准数,选择的位置记为坑。然后让i指向坑的位置,j指向最后一个元素。第二步:移动i和j,i向后移动,j向前移动。移动规则是遇到坑...原创 2021-09-11 11:26:01 · 318 阅读 · 0 评论 -
visual studio 15 无法卸载(安装时发生严重错误)
找到安装包的这个目录 vs2015\vs2015.ent_enu\packages\communitycore\Setup。原创 2022-11-30 20:57:03 · 5462 阅读 · 2 评论 -
vector中reserve与resize的区别
搞清楚这两个区别之前,先要搞清楚vector的原理和size与capacity的区别,可参考我写的另一篇文章。 reserve是容器预留空间,但在空间里不真正创建对象。也就是capacity。 resize是改变容器大小,且创建元素。也就是size。 std::vector<int> v1; v1.reserve(10); std::cout <<"v1.size = "<<v1.size() <<...原创 2021-11-20 20:16:05 · 2067 阅读 · 0 评论 -
MySql数据库基础篇-增删改查
本文章以mysql数据库为例,介绍下数据库的库的创建,表的创建,以及对数据的增删改查。原创 2022-11-26 12:37:15 · 717 阅读 · 0 评论 -
shell脚本介绍
【代码】shell脚本介绍。原创 2022-10-29 22:00:49 · 6688 阅读 · 0 评论 -
C++ json库介绍 - json11的使用
本文章主要介绍下json11库的使用json11: json11是一个轻量级的C++11库, 提供JSON的序列化和反序列化功能。使用时只需要在我们的工程中引入头文件json11.hpp和源文件json11.cpp即可使用。原创 2023-01-01 12:55:38 · 3314 阅读 · 0 评论 -
vector容器中size与capacity的区别
理解这两个方法的区别之前,需要先搞清楚vector的原理。vector底层是一个动态数组,插入元素时会申请新的空间,但考虑到效率问题,并不是每插入一个元素,就申请一个空间,而是事先先申请好一段空间,开始插入元素,当空间不足时,再重新申请一块更大的空间。并将原来空间中的数组拷贝到新空间中,再继续插入元素。 而size就是vector中元素的个数,而capacity就是vector申请的内存空间的大小。 std::vector<int> v1; for (i...原创 2021-11-20 19:43:13 · 4906 阅读 · 0 评论 -
指针数组与数组指针
指针数组 : 是一个数组,其中每一个元素是指针。int a1 = 10, a2 = 20;//定义一个指针数组 int *arr[2] = {0};//它的元素arr[0],arr[1]就是一个指针,可以指向整型变量arr[0] = &a1;arr[1] = &a2;//可以直接打印出它指向位置的值printf("*arr[0] = %d\n", *arr[0]);printf("*arr[1] = %d\n", *arr[1]);便于理解写一个普通指针作对.原创 2021-09-05 12:07:49 · 601 阅读 · 0 评论 -
c++函数模板与类模板
template class 类名{//类成员};template 返回类型 类型::成员函数1(形参表){//函数体}template 返回类型 类型::成员函数n(形参表){//函数体}模板类声明与定义{public:private:int mSize;T *mData;};}{size : 1;}{}}这里要注意下,类模板的定义和实现都要放在头文件中。调用。原创 2022-11-12 18:17:33 · 999 阅读 · 0 评论 -
c语言json库parson的介绍和使用
parson是用C语言开发的一个json解析库, 提供json的序列化和反序列化功能。使用时只需要在我们的工程中引入头文件parson.h和源文件parson.c即可使用。原创 2023-01-06 14:23:04 · 1985 阅读 · 1 评论 -
C++三大特性之多态
多态性是面向对象程序设计的重要特性。利用多态性可以设计和实现一个易于扩展的系统。在C++中,多态性是指具有不同功能的函数用同一个函数名,即用同一函数名调用不同内容的函数。原创 2022-12-11 11:21:45 · 847 阅读 · 0 评论 -
C++ 11新特性之std::function类模板与std::bind绑定器介绍
在c++中,可调用实体主要包括:函数、函数指针、函数引用、可以隐式转换为函数指定的对象,或者实现了operator()的对象原创 2022-12-03 12:46:14 · 810 阅读 · 0 评论