
C++
c++基础
鲜花盔甲的主人
大家好!!!
展开
-
C++20 协程体验
协程是比线程更加轻量级并发编程方式,CPU资源在用户态进行切换。协程完成异步的调用流程,并对用户展示出同步的使用方式。协程的调度又应用层决定,所以不同的实现会有不同的调度方式,调度策略比较灵活。协程是基于线程之上运行,同一个线程中,协程是串行的,不会产生线程资源的竞争,不同的协程间却是相互交叉运行的,只要依赖的线程没有终止,协程最终会跳转回来。c++20 协程通过三大关键字co_waitco_returnco_yield在函数中使用到以上关键字的函数被称为协程函数,并且通过该关键字完成跳转。原创 2023-03-06 18:34:34 · 2319 阅读 · 3 评论 -
简单内存映射图
原创 2020-08-05 16:51:40 · 604 阅读 · 0 评论 -
C语言#pragma常用方法
undef new将宏定义new压入栈并取消它的定义,如此一来new的本来含义便获得了恢复,使用完毕后将宏定义new弹出栈,恢复宏定义。原创 2023-01-09 14:27:26 · 1066 阅读 · 0 评论 -
Protobuf 了解
搭建Protobuf c++ vs工程。原创 2022-12-23 16:12:57 · 1061 阅读 · 1 评论 -
c++ 虚函数实现
虚函数是C++中用于实现多态机制。通过基类访问派生类定义的函数,是C++中多态性的一个重要体现。利用基类指针访问派生类中的虚函数,在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。每一个含有虚函数的类(包括派生类)都至少有一个与之对应的虚函数表,其中存放着该类所有虚函数对应的函数指针(地址),类的示例对象都包含有一个虚指针指向虚函数表。虚表是和类对应的,虚表指针是和对象对应的。原创 2022-10-09 15:15:05 · 494 阅读 · 0 评论 -
c++智能指针
c++智能指针原创 2022-08-09 15:11:52 · 295 阅读 · 0 评论 -
【问题】BLAS loading error: refblas.so: cannot open shared object file: No such file or directory
问题现象:MATLAB与C/C++混合编程,使用某国产机系统调用MATLAB中的c接口,提示BLAS loading error:refblas.so: cannot open shared object file: No such file or directory其中: matlab运行时已安装版本2020b。CPU为国产系统,x86架构问题分析: MATLAB没有正确检测到这个特定的处理器,因此没有加载正确的BLAS和LAPACK库。属于MATLAB的bug,可能...原创 2021-12-10 17:12:02 · 2302 阅读 · 3 评论 -
【问题】 version `ZLIB_xxx‘ or `GLIBC_xxx‘ not found
问题一问题现象:执行其他环境编译的可执行文件出现异常 version `ZLIB_1.2.9' not found. version `GLIBC_2.27' not found问题分析:引入的 libopencv_world.so.4.3 或 自定义so,依赖的库与编译环境所用的库版本不兼容。如下查看依赖库包含的 ZLIB 与 GLIBC 版本,不支持编译环境生成的库。问题解决:方式1 如果依赖的库不多,则可以拷贝编译环境中的库文件,放入运行时依赖的路径中...原创 2021-11-24 10:57:39 · 645 阅读 · 0 评论 -
CMake设置运行时链接库路径-rpath问题
使用CMake编译生成so或可执行文件运行时,依赖的库要放到系统目录或设置环境变量。 而自定义的链接目录都是绝对路径,当库文件目录发生变化时则找不到链接的库,使用起来比较麻烦。link_directories(path) 配置路径为绝对路径配置相对路径:set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-Wl,-rpath,./lib")查看可执行文件链接路径,只需将依赖的库打包到可...原创 2021-11-18 11:20:24 · 9219 阅读 · 3 评论 -
linux 运行时链接库的加载顺序
1. gcc 编译时指定的运行时库路径 -Wl,-rpath2. LD_LIBRARY_PATH 指定的地方3. ldconfig 缓存 /etc/ld.so.cache4. 系统默认库位置 /lib /usr/lib-------------------------------------------------------CMakeList指定-rpathlink_directories(path)Makefile指定-rpath-I,添加包含路径-l,添加引用链接库-L..原创 2021-11-17 17:17:21 · 1106 阅读 · 0 评论 -
CMake 使用
1 CMake简介 cmake 是一个跨平台编译工具。(类似于Unix的Makefile文件、Windows的Visual Studio工程、Mac的Xcode工程),cmake命令根据CMakeLists.txt文件生成Makefile文件或Visual Studio工程。使用简单,可以避免编写makefile文件的麻烦。2 CMake安装 安装步骤简单略3 CMakeList语法 cmakelist需要我们依照cmake语法规则编写,然后根据不同系统编...原创 2021-11-05 10:24:35 · 1219 阅读 · 0 评论 -
UML
UMLUML 从目标系统的不同角度出发,定义了 用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图 等 9 种图原创 2021-02-20 09:48:29 · 113 阅读 · 0 评论 -
MFC消息映射-按钮
MFC消息映射-按钮创建按钮控件(静态、动态 Create)消息处理函数声明与实现 OnButtonClick添加映射表 ON_BN_CLICKED(IDC_BTN, OnButtonClick)原创 2020-12-09 10:36:44 · 280 阅读 · 0 评论