C++原子操作中的内存顺序

C++原子操作中的内存顺序 头文件 <atomic> C++11形式 typedef enum memory_order { memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release, memory_order_acq_rel, memory_order_seq_cst } memory_order; C++20形式 enum class memory_order : /*unspecified*/ { relaxed, consume, acquire, release, acq_rel, seq_cst }; inline constexpr memory_order memory_order_relaxed = memory_order::relaxed; inline constexpr memory_order memory_order_consume = memory_order::consume; inline constexpr...

C++并发笔记

C++ Concurrency in Action Managing threads Basic thread std::thread可以使用函数和callable对象创建 code #include <iostream> #include <thread> #include <mutex> using namespace std; mutex print_lock; void hello_func() { lock_guard<mutex> lg{print_lock}; cout << "hello function: " << std::this_thread::get_id() << endl; } class hello_class { public: void...

数字图像处理笔记

2 数字图像基础 简单成像模型 \[ f(x,y)=i(x,y)r(x,y) \] 其中\(i(x,y)\)为入射到被观察场景的光源照射量, \(r(x,y)\)表示被场景中反射的照射量 \[ 0\le i(x,y)\le \infty...

图像去雾

暗通道先验法 大气散射模型 \[ I(x)=I_{\infty}r(x)e^{-kd(x)}+I_{\infty}(1-e^{-kd(x)}) \] 其中\(r(x)\)为反射率, \(I_{\infty}\)为无穷远处天空辐射强度, \(I_{\infty}r(...

Mermaid类图

原文 Class Diagram 类图用于面向对象对于应用结构概念建模, 也用于把具体的模型翻译成程序代码. 类图也可以用于数据建模 mermaid渲染: classDiagram Animal <|-- Duck Animal <|-- Fish Animal <|--...

设计模式笔记

SOLID Principle Single Responsibility Principle (SRP) 日记例子,一个类只做一件事 Open-Closed Principle (OCP) 根据颜色大小排序, Specification类,为扩展开发,为修改关闭 Liskov Substitution Principle (LSP) 父类定义的方法意义...

开发中用到的工具集

简介 总结一下开发中用到的工具 编译开发 msvc WSL2 MinGW Cygwin gcc docker gcc镜像 clang 在线编译器:https://godbolt.org/ IDE Neovim(带LSP) CLion...

Matlab2020a在最新Linux下安装报错

Matlab2020a在最新Linux下安装报错 使用的是最新的Manjaro系统 错误内容: Unable to launch the MATLABWindow application 执行./bin/glnxa64/MAT...

开发笔记

Windows下格式化显示错误码 使用FormatMessage函数 TCHAR *s = NULL; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, WSAGetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &s, 0, NULL); OutputDebugString(s); 中文环境下打印: 由于目标计算机积极拒绝...

Vim技巧

插件安装 采用packer.nvim安装,根据packer.nvim的文档安装插件管理器,然后在克隆仓库到 # Linux git clone --depth 1 https://github.com/wbthomason/packer.nvim\ ~/.local/share/nvim/site/pack/packer/start/packer.nvim git clone http://github.com/helywin/nvim_config.git ~/.config/nvim # Windows(PowerShell) git clone https://github.com/wbthomason/packer.nvim "$env:LOCALAPPDATA\nvim-data\site\pack\packer\start\packer.nvim"...

康德的大刀读书笔记

康德的大刀 一、对象 物理学研究的是物体概念,不是实体,研究成果为物体概念间的关系。 物自体是独立于人的思维的东西,我们观察物自体得到杂多,杂多要...

gettext使用

简介 GNU getttext是实现软件国际化的一套多语言工具,运行程序运行时根据不同的语言环境切换不同的程序语言,对应Qt的Linguist 获取库...

CMake技巧

判断CMake编译环境 编译类型CMAKE_BUILD_TYPE 可取Debug, Release, RelWithDebInfo, MinSizeRel等等预设值 if (CMAKE_BUILD_TYPE MATCHES Debug) #do some thing endif() 系统环境CM...

GitLab维护

升级 到清华大学镜像下载apt包 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/ https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/ubuntu/pool/xenial/main/g/gitlab-ee/ 这个xenial是对应Ubuntu 16.04的 直接sudo apt install ./xxxx.deb,不能暂停服务,否则无法...

诺基亚7Plus刷机

已解锁 刷机 允许usb调试,输入以下命令进入Download mode adb reboot fastboot 准备好twrp镜像,下载地址 由于使用A/B分区,在当前为A分区的时候刷机会...