
c++
文章平均质量分 53
kacakaca-gogogo
这个作者很懒,什么都没留下…
展开
-
Undefined reference to xxx
缺少函数定义的库文件(.so, .a)或者目标文件(.o)多个目标文件,库文件链接的顺序:定义的文件应该放在后面c++和c的混合编程第1,2点很常见了,对于第3点:由于c++与c编译之后生成的符号不同,如果库文件是使用c++编译出来的,而c编译器使用...原创 2021-08-05 11:49:05 · 161 阅读 · 0 评论 -
最大堆, 最小堆, priority_queue
最大堆,最小堆最大堆:每个节点的孩子节点都小于该节点最小堆:每个节点的孩子节点都大于该节点由于堆是一棵完全二叉树,所以如果堆中的节点i有左右孩子节点,则:左孩子节点:i x 2 + 1右孩子节点:i x 2 + 2如果堆中的节点j有父节点,则:父节点:(j-1)/2建立最大堆:void AdjustHeap(std::vector<int> & heap, int cur, int length){ int left = cur * 2 + 1..原创 2021-05-10 17:27:49 · 214 阅读 · 1 评论 -
Linux进程与线程
程序执行:进程与线程的主要区别:进程是资源(存储资源)分配的单位,而线程是task调度(cpu)的单位进程进程是资源分配的基本单位,是由于每个进程都有自己的虚拟内存空间,都是独立寻址。这也是为什么需要有进程间通信的机制。进程的地址空间结构:进程的创建:创建虚拟内存空间,初始化页表目录,用于将虚拟内存空间映射到物理内存读取可执行文件头,创建可执行文件与虚拟内存空间的映射关系,用于之后缺页的时候将文件从磁盘载入物理内存将cpu的指令寄存器设置为进程执行的入口地址(还涉及上下文切换等)原创 2021-04-29 16:21:59 · 358 阅读 · 0 评论 -
Linux下google test搭建
code:https://gitee.com/kacakaca/Test/tree/master/googletest_examples文件目录结构如下:其中:cmake相关文件有两个:./CMakeLists.txt 和./example/src/CMakeLists.txtCmakeLists.txtcmake_minimum_required(VERSION 3.14)project(googletest_example)set(CMAKE_CXX_STANDARD 11)原创 2021-04-26 16:19:28 · 362 阅读 · 0 评论 -
gdb调试
gdb调试使用gdb 调试方法,首先要在gcc编译时加入-g选项。基本命令:https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/gdb.html gdb 进入调试 //或者gdb exc_file core_file 调试core dump文件 (gdb) file exc_file //调试exc_file文件 查看内存映射:`(gdb) i proc mapping` 设置参数: `run -d 1 -s xxx` (参数为 ‘原创 2021-04-16 15:41:04 · 199 阅读 · 0 评论 -
c++ program_options实现子命令
code: https://gitee.com/kacakaca/Test/blob/master/basic_cpp/parseoptions.cpp使用g++ -std=c++11 parseoptions.cpp -lboost_program_options编译后:capture command: ./a.out capture --device 2 --stream 1920x1080@30control command: ./a.out control -z 150 -m 10,30 -b原创 2021-03-04 17:24:58 · 646 阅读 · 1 评论 -
c++ 获取时间戳
c++ 获取时间戳:#include <iostream>#include <iomanip>#include <ctime>#include <chrono>#include <sstream>int main(){ std::chrono::system_clock::time_point now = std::chrono::system_clock::now(); int64_t timepoint ..原创 2021-03-04 16:50:52 · 2131 阅读 · 1 评论 -
lambda表达式
参考:https://www.cnblogs.com/DswCnblog/p/5629165.htmlhttps://en.cppreference.com/w/cpp/language/lambda完整格式:[ captures ] ( params ) specifiers exception attr -> ret { body }captures: 捕获列表params:传入参数specifiers: `mutable`, `constexpr`, `consteval.原创 2021-01-08 16:08:00 · 189 阅读 · 0 评论