自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ox0080的博客

磨刀霍霍

  • 博客(176)
  • 资源 (1)
  • 收藏
  • 关注

原创 MarkDown 模板素材积累

????????????????????????‍♀️????‍♂️????‍♀️????‍♂️????????????????????????✌????????????????????????????‍????????‍????✨????????????‍????????‍????????‍????使用 Markdown 编辑代码,积累创作模板????????????????????????‍♀️????‍♂️????‍♀️????‍♂️????????????????????????✌??????

2020-10-05 20:52:03 256 1

原创 柔性数组(变长数组)介绍

柔性数组

2024-03-12 08:44:10 248

原创 C++ AES/Base64加密算法

????????????????????????‍♀️????‍♂️????‍♀️????‍♂️????????????????????????✌????????????????????????????‍????????‍????✨????????????‍????????‍????????‍????base64编码&解码std::string base64_encode(const std::string &str);std::string base64_decode(const

2021-03-24 23:55:27 580

原创 C++ Debug/Log(史上最简易)

<font>scs<\font>#pragma once#include <iostream>#include <cstring>#define LOGGING(...) \ { \

2021-03-23 22:47:01 1814

原创 散列函数效率对比

????????????????????????‍♀️????‍♂️????‍♀️????‍♂️????????????????????????✌????????????????????????????‍????????‍????✨????????????‍????????‍????????‍????????????????????????????‍♀️????‍♂️????‍♀️????‍♂️????????????????????????✌????????????????????????????‍?

2020-10-25 16:40:27 457

原创 GPU

查看GPU/CPU 信息:cat /proc/driver/nvidia/gpus/000000\:1e.0/information   #查看gpu信息nvidia-smi #查看一次watch -n 1 nvidia-smi #实时查看,1秒刷新1次pip install gpustatwatch --color -n1 gpustat -cpu #动态实时监控GPU的使用情况nvidia-smi -L #list all available..

2020-10-12 01:46:11 171

原创 C++知识

????????????????????????‍♀️????‍♂️????‍♀️????‍♂️????????????????????????✌????????????????????????????‍????????‍????✨????????????‍????????‍????????‍????????????????????????????‍♀️????‍♂️????‍♀️????‍♂️????????????????????????✌????????????????????????????‍?

2020-10-12 01:38:18 174 1

原创 json11入门教程

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨1.jsonJSON(JavaScript Object Notation) 是一种轻量级的文本数据交换格式,易于让人阅读。同时也易于机器解析和生成。尽管 JSON 是 Javascript 的一个子集,但 JSON 是独立于语言的文本格式,并且采用了类似于 C 语言家族的一些习惯。JSON 解析器和 JSON 库支持许多不同的编程语言。几乎所有与网页开发相关的语言都有 JSON 库。JSON 比 XML 更小、更快。?

2020-09-30 17:57:21 582

原创 GPU 信息查询

What is NVIDIA CUDA and NVIDIA cuDNN ?···CUDA 是 NVIDAI 为图形处理单元上的通用计算开发的并行计算平台和编程模型,包含 CUDA 指令集架构以及 GPU 内部的并行计算引擎。你只要使用一种类似于 C 语言的 CUDA C 语言,就可以开发 CUDA程序,从而可以更加方便的利用GPU强大的计算能力,而不是像以前那样先将计算任务包装成图形渲染任务,再交由GPU处理。注意,并不是所有GPU都支持CUDA。在 GPU 加速应用程序中,工作负载的连续部分在运.

2020-09-30 16:33:34 322

原创 打造csdn最强markdown

docker 数据管理使用 Docker 需要持久化,或者需要多个容器之间进行数据共享数据卷#include <iostream>#include <seastar/core/net-api.hh>orange创建数据卷绑定数据卷sadsfds

2020-09-30 12:17:53 132

原创 BOOST_PP_SEQ_FOR_EACH boost宏

宏展开结构体预定义struct ExperimentMapping { tsl::robin_map<std::string, std::string> unitmap; FileWatchInfo watch_info; void insert(const string &key,const ml::utilities::StringTokenizer &tok) { if (tok.Size() >= 2) {

2020-09-27 15:58:12 765

原创 PyTorch C++ ---C++17重编libtorch

libtorch (PyTorch C++)根据系统(Win/Mac/Linux)和GPU/CUDA(version) 选择install 之后就可通过Cmake find_package 直接使用,但是默认编译libtorch 为 C++14,如果和其他 C++17 编译得到的库共同链接到项目,就可能产生一系列问题:如下图,原因是先链接 C++14 编译的torch,会将编译设为 C++14,再去链接C++17的库,就无法识别C17加入标准库的内容,编译报错。实际上先链接C++17 的其他库,再链接 to

2020-07-31 11:16:25 4135

原创 C++ 函数返回多个值

参考知乎某大佬#include <optional>#include <string>#include <iostream>#include <variant>#include <type_traits>#include <tuple>#include <any>// C++ return multiple value// 1.returned value,reference parameterboo

2020-05-28 13:01:52 642

原创 温习C++友元

友元函数和友元类类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。为什么要使用友元函数运算符重载的某些场合需要使用友元。(略)两个类要共享数据:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。友元函数的优缺点优点:方便缺点:

2020-05-22 19:26:45 178

原创 git submodule 操作

Git 使用submodule 管理外链库 submodule 是固定conle 的commit,默认是head执行执行```git submodule add```或对于新clone下来宿主项目执行 ```git submodule update```后,得到的submodule是处于头指针脱离状态,在其目录中执行git branch可以看到当前没有指向任何分支。去.git/modu...

2020-03-20 20:02:20 632

原创 git 必会命令

创建分支:git branch mybranch切换分支:git checkout mybranch创建并且切换分支:git checkout -b mybrach更新master上的内容到分支:git rebase master提交:git commit对最近一次commit的进行修改:git commit -a -amendcommit之后,如果想撤销最近一次提交(即退回到上一次...

2020-03-18 21:28:55 195

原创 git 撤销

一,撤销未加入暂存区的修改git checkout --filenamegit checkout .此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。二,撤销加入暂存区的修改git reset HEAD f...

2020-03-18 18:08:34 132

原创 linux系統安裝boost库及使用

boost::asio网络库编译安装教程boost 库安装教程使用server#include <boost/system/error_code.hpp>#include <iostream>#include <boost/asio.hpp>#include <chrono>#include <ctime>#inclu...

2020-01-09 17:35:32 375

原创 Seastar不能使用引用蒱获的原因

seastar::future<int> incr(int i) { using namespace std::chrono_literals; // Oops, the "&" below is wrong: return seastar::sleep(10ms).then([&i] { return i + 1; });}i 是一个栈变...

2019-12-23 11:57:43 419

原创 C++异步定时事件

异步std::async,std::futureC++标准库提供std::async ,std::future,两个高级接口。async() ,使一个callable object,在后台运行成为一个独立线程。class future<> ,允许等待线程结束获取其返回结果(返回值也可能是一个异常)。#include <iostream>#include &lt...

2019-12-06 11:42:40 729

原创 C++ 实现then,lambda链式调用

lambda 链式调用C++11支持lambda和function,在一些延迟计算的场景下,这个链式调用的需求更加强烈。链式调用的目的是,将多个函数按照前一个的输出作为下一个的输入串起来,然后推迟到某个时刻再计算。C++中链式调用比较少见,因为实现比较复杂。template<typename T>class Task;template<typename R,typenam...

2019-12-06 10:51:19 4176

原创 std::vector扩容验证以及删除操作

#include <vector>#include <iostream>#include <algorithm>#include <cstdlib>#include <iterator>void capacity_increase(){ std::vector<int> vec; std::cou...

2019-12-05 19:22:08 221

原创 tip:linux终端输出带色彩的文本

.终端中生成彩色输出比较好玩,可以使用转义序列来实现.每种颜色都有对应的颜色码。臂如:重置=0,黑色=30,红色=31,绿色=32,蓝色=34,洋色=35,青色=36,白色=37。要打印彩色输出,使用以下命令:echo -e "\e[1;31m This is red text \e[0m"\e[1;31m将颜色设为红色\e[0m将颜色重新置回要设置彩色背景,经常使用的颜色码是:重...

2019-12-03 11:08:23 169

原创 前后端交互的方式

因为兴趣想要独立开始一个网站,在考察如何使用C++作为后端,查到以下结论:1、link标签的href属性2、script标签的src属性3、img标签的src属性4、ajax发送请求5、表单提交发送请求6、a标签的href发送请求7、iframe的src属性发送请求据了解到的情况来说,golang,java,scala,比较适合做后端支持,因为有了完整...

2019-11-29 12:12:37 1019 2

原创 Seastar- complete tutorial (3)

Seastar 是一个 c + + 库,用于在现代多核机器上编写高效的复杂服务器应用程序。传统上,用于编写服务器应用程序的编程语言库和框架被划分为两个不同的阵营: 注重效率的阵营和注重复杂性的阵营。 有些框架非常高效,但是只允许构建简单的应用程序(例如,DPDK 允许单独处理数据包的应用程序) ,而其他框架允许构建极其复杂的应用程序,代价是运行时效率。 Seastar 是我们两全其美的尝试: 创...

2019-11-29 11:50:01 429

原创 Seatsar mini-tutorial(2)

Future and promiseA future is a result of a computation that may not be available yet. Examples include:未来是计算的结果,可能尚未可用,例如:a data buffer that we are reading from the network 我们从网络中读取的数据缓冲区the expi...

2019-11-29 11:41:57 132

原创 Seastar-Basic knowledge(1)

SeaStar is an event-driven framework allowing you to write non-blocking, asynchronouscode in a relatively straightforward manner (once understood). It is based on futures.

2019-11-29 11:38:13 149

原创 GDB调试core与multi-threads

debug modle 下build项目应该使用-g参数:g++ -g sample.cpp -o sample两种方式去进入gdb调试:Start the debugging with exectuable name i.e(shell) gdb Sample2)Start gdb alone i.egdb(gdb) file Sample 通过命令行参数去传递参数到...

2019-11-28 15:39:12 394

原创 git merge conflict(万恶之源) --- rebase 解决

新添加库到项目中,发起merge request之后,收到这个老大消息,这是啥?(作为一个只用这些命令的小白,咱啥也不敢说,啥也不敢问。去查)rebase,直译为变基,它会把某个分支上的所有的提交的更改在另一个分支上重现一遍。变基原理:首先找到两个要整合的分支(当前所在的分支和要整合到的分支)的共同祖先,然后取得当前所在分支的每次提交引入的更改(diff),并把这些更改保存为临时文件,这之...

2019-11-27 18:31:21 1415

原创 merge request工作流程

Git杀手锏—分支用法#参考本地准备克隆远程代码:git clone git@gitlab.mobvista.com:ml-platform/ml-xxx.git创建分支:cd ml-xxxgit checkout -b 17-helloworld这相当于创建并切换到了17-helloworld分支下,git branch检测已经不在master下更新提交分支代码:git ...

2019-11-27 17:13:50 16021 1

原创 c++单例模式

一、懒汉模式即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety.但是使用double-check来保证thread safety.但是如果处理大量数据时,该锁才成为严重的性能瓶颈。1、静态成员实例的懒汉模式:class Singleton ...

2019-11-25 19:43:21 318

原创 rm反向删除

按内容反向删除rm `ls | grep -v "aa"` #删除包含aa的chuanrm `ls | grep -v "^aa$"` #删除包含独立aa字符串按目录反向删除删除目录aa和目录bb以外的所有其它文件或目录ls *|grep -v 'linuxcast|xuefu' |xargs rm -rf按文件名反向删除删除文件名为abc的文件find . -maxdepth...

2019-11-25 10:55:17 344

原创 Effective C++ item 6

条款 6 :使用delete 明确拒绝编译器自动生成函数method 1将成员函数声明为private并且不予实现,无法显示调用可以使得编译器无法编译.method 2继承private修饰的copy construct以及operator,在derive类中就可以不需要任何设计,同时会拒绝使用默认的copy construct以及operator函数.medthod 3将要...

2019-11-24 20:41:59 105

原创 alias重命名rm-安全删除

修改/bin/rm的使用,使其安全删除### define trash ###alias rm=del #删除alias rl='ls /mobdev/yfz/.trash/' #陈列垃圾箱alias ur=undelfile # 恢复删除文件alias ct=cleantrash # 清空回收站undelfile(){ mv -i /home/mobdev/.trash/...

2019-11-22 11:12:34 853

原创 Git远程仓库与本地仓库链接的两种方案

关联远程仓库与本地仓库方案一 : 本地项目init之后,remote add到远程仓库#创建新文件夹mkdir ml-async#进入cd ml-async #初始化Git仓库 git init#提交改变到缓存git commit --message 'description'#本地git仓库关联GitLab仓库 git remote add origin git@gitla...

2019-11-22 10:57:11 186

原创 CMake install

转载链接CMake InstallINSTALL && LIBRARYINSTALL:cmake 指令 INSTALL和一个非常有用的变量CMAKE_INSTALL_PREFIX。CMAKE_INSTALL_PREFIX变量类似于configure脚本的 –prefix,常见的使用方法:cmake -DCMAKE_INSTALL_PREFIX=/usr.INSTALL指...

2019-11-20 10:33:03 1290

原创 std::function和std::bind绑定器

C++11中std::function and std::bind1. 可调用对象C++中可调用对象的概念,有以下几种定义:1) 是一个函数指针2) 是一个具有operator()成员函数的类对象3) 是一个可被转换为函数指针的类对象4) 是一个类成员(函数)指针void fun(void){ //...}struct Foo{ void operator()(vo...

2019-10-29 20:17:48 649

原创 Effective C++ item 7&8&9

条款7,8,8 :析构函数篇1.为基类申明virtual析构函数remember:1.1 base class 应该申明一个virtual析构函数。如果有class带有人任何virtual函数,它就应该带有一个virtual函数。1.2 class 的设计目的中未考虑作为base class使用,不应该存在virtual函数,否则会有vptr额外的开销。2.析构函数中处理异常remem...

2019-10-28 15:06:14 90

原创 Effective C++ item 6

条款6:若不使用编译器自动生成的函数,该明确拒绝方法1 对应成员函数声明为private并且不加以实现2 使用delete明确删除

2019-10-28 12:46:09 105

原创 Effective C++ item 5

条款5 :了解C++默默编写调用了那些函数calss A{ public: A() = default; //empty 类会自动创建,显示声明构造时,编译器不会自动添加 A(std::string a,std::string b){} private: std::string aa; std::string bb; };int main(){ A a("abc","123...

2019-10-28 12:29:49 142

c++宏的使用详解

宏替换是C/C++系列语言的技术特色,C/C++语言提供了强大的宏替换功能,源代码在进入编译器之前,要先经过一个称为“预处理器”的模块,这个模块将宏根据编译参数和实际编码进行展开,展开后的代码才正式进入编译器,进行词法分析、语法分析等等.

2019-02-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除