随笔分类 -  C/C++

摘要:一、背景 在C++编程中,高效的数据访问至关重要,而内存映射文件(Memory Mapped Files)提供了一种强大的工具,它允许我们直接将文件内容加载到进程地址空间,从而以极高的效率进行读写操作。今天,我们要向大家推荐一个轻量级且易于使用的开源库——mio。 二、项目介绍 mio是一个头文件式 阅读全文
posted @ 2024-11-28 14:28 小金乌会发光-Z&M 阅读(83) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-05-06 11:09 小金乌会发光-Z&M 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-10 17:32 小金乌会发光-Z&M 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-06 16:59 小金乌会发光-Z&M 阅读(0) 评论(0) 推荐(0) 编辑
摘要:一、前言 在日常并行编程开发时,我们通常想到的方式有OpenMP,TBB和原生的多线程等。这里先简要各种比较结论如下,然后会在各部分详细论述: TBB需要相当可观的重新设计程序,而OpenMP足够简单; TBB不太适合并行化已有的实现,它为新设计的并行程序培养一种好的编程风格和更高的抽象层; 在论文 阅读全文
posted @ 2023-02-17 18:10 小金乌会发光-Z&M 阅读(4531) 评论(0) 推荐(1) 编辑
摘要:一、前言 程序的CPU问题是另外一类典型的程序性能问题,很多开发人员都受到过程序CPU占用过高的困扰。本文首先探讨了CPU占用率的排查方法,其次针对一些典型的CPU问题进行分析,最后总结了一些实践心得。 二、CPU占用率排查方法 对于C/C++程序,目前业界使用的比较多的CPU热点定位工具有:val 阅读全文
posted @ 2023-02-10 17:41 小金乌会发光-Z&M 阅读(3162) 评论(0) 推荐(0) 编辑
摘要:一、前言 一般而言,我们在Linux系统下通常使用解压缩命令去压缩/解压缩文件。在C++程序中,要实现该功能,我们有两种方式: 通过system函数调用7z等命令去执行压缩或者解压缩; 通过使用C++调用解压缩工具库去执行压缩或者解压缩; 第一种方式操作起来很简便,但是它比较死板,以解压缩为例,就一 阅读全文
posted @ 2022-12-20 16:06 小金乌会发光-Z&M 阅读(884) 评论(0) 推荐(0) 编辑
摘要:一、前言 使用pytorch可以很方便地训练网络,并且pytorch的官方网站中给出了很全的python对tensor的操作接口API,但是在部署libtorch的时候,c++对tensor的操作接口API资料甚少,因此,本文旨在整理部署libtorch的时候,操作tensor块常用的接口API,有 阅读全文
posted @ 2022-12-14 15:10 小金乌会发光-Z&M 阅读(3064) 评论(0) 推荐(0) 编辑
摘要:单任务队列线程池 用现代的C++标准库(线程+锁+条件变量)实现一个单任务队列的线程池非常简单。基本的实现思路是:在线程池构造时初始化线程数,在析构时停止线程池。对外只需要提供提交任务的接口即可。 接口设计 返回类型 explicit ThreadPool(size_t threads = std: 阅读全文
posted @ 2022-10-17 14:49 小金乌会发光-Z&M 阅读(3015) 评论(0) 推荐(0) 编辑
摘要:背景 linux下的程序,在遇到空指针解引用、栈错误等原因崩溃时,bash会输出一条: Segmentation fault(core dump) 如果你看到core dumped字样,并且在目录下也找到了一个叫core的文件,那你可以直接用gdb定位到程序崩溃的位置。但是,我在实践中发现,在我的u 阅读全文
posted @ 2022-09-01 12:15 小金乌会发光-Z&M 阅读(136) 评论(0) 推荐(0) 编辑
摘要:->问题描述:如何用c++读取一个文件夹下的所有图片处理并保存opencv? 这是一个非常常见的问题,目前网上提到的写法,大多都依赖于系统调用(基本就是不能跨平台使用),直到在openvslam的实现里,发现了一种比较好的方法,如下: 而这里我们就可以用到VCPKG去安装dirent库来实现上述的s 阅读全文
posted @ 2022-05-16 17:31 小金乌会发光-Z&M 阅读(143) 评论(0) 推荐(0) 编辑
摘要:内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++, 阅读全文
posted @ 2020-10-14 19:47 小金乌会发光-Z&M 阅读(40) 评论(0) 推荐(0) 编辑
摘要:(1)std::thread 在C++11之前,C++语言层面是不支持多线程的,想利用C++实现并发程序,借助操作系统的API实现跨平台的并发程序存在着诸多不便。在C++11中,终于提供了多线程的标准库,提供了管理线程、保护共享数据、线程间同步操作、原子操作等类,编写跨平台的多线程代码就方便了许多。 阅读全文
posted @ 2020-09-24 15:56 小金乌会发光-Z&M 阅读(296) 评论(0) 推荐(0) 编辑
摘要:已知strcpy函数的原型是:char * strcpy(char * strDest,const char * strSrc); 1.不调用库函数,实现strcpy函数。 2.解释为什么要返回char *。 解答: 1.strcpy的实现代码 char * strcpy(char * strDes 阅读全文
posted @ 2020-09-14 19:49 小金乌会发光-Z&M 阅读(434) 评论(0) 推荐(0) 编辑
摘要:1.为什么会写memcpy 笔试中遇到过一道笔试题,题目要求实现一个my_memcpy函数。函数原型:void * my_memcpy(void *dst, const void *src, int n); 函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中,即从源src中拷贝n个 阅读全文
posted @ 2020-09-14 19:29 小金乌会发光-Z&M 阅读(874) 评论(0) 推荐(0) 编辑
摘要:为什么要阅读Redis源码? 主要原因就是『简洁』。如果你用源码编译过Redis,你会发现十分轻快,一步到位。其他语言的开发者可能不会了解这种痛,作为C/C++程序员,如果你源码编译安装过Nginx/Grpc/Thrift/Boost等开源产品,你会发现有很多依赖,而依赖本身又有依赖,十分痛苦。通常 阅读全文
posted @ 2020-04-16 14:43 小金乌会发光-Z&M 阅读(261) 评论(0) 推荐(0) 编辑
摘要:问题取自知乎:C++可以通过new创建对象,也可以通过Type o(...)创建对象,前者在传递对象给函数时只需传递指针,不存在很大开销,后者可通过move操作传递对象,工程中应当更多使用哪个呢? 链接:https://www.zhihu.com/question/379456802/answer/ 阅读全文
posted @ 2020-04-01 14:32 小金乌会发光-Z&M 阅读(1151) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2019-10-31 14:19 小金乌会发光-Z&M 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1.WinDbg是微软开发的免费源代码级的调试工具。WinDbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。WinDbg对于dump文件的调试可以通过菜单设置Symbol File Path、Source File Path ,并可设置多个路径。具体步骤很简单,此处不赘述,留 阅读全文
posted @ 2019-05-22 14:51 小金乌会发光-Z&M 阅读(320) 评论(0) 推荐(0) 编辑
摘要:参考:https://blog.csdn.net/changbaolong/article/details/6916441 阅读全文
posted @ 2019-05-06 17:05 小金乌会发光-Z&M 阅读(408) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示