文章分类 -  c++

摘要:simple-rpc 依赖 zmq 编译 mkdir build cd build cmake .. make<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span 阅读全文
posted @ 2024-02-19 11:02 MasonLee 阅读(48) 评论(0) 推荐(0) 编辑
摘要:## **概念** `CPU`绑定指的是在多核`CPU`的系统中将进程或线程绑定到指定的`CPU`核上去执行。在`Linux`中,我们可以利用`CPU affinity`属性把进程绑定到一个或多个`CPU`核上。 `CPU Affinity`是进程的一个属性,这个属性指明了进程调度器能够把这个进程调 阅读全文
posted @ 2023-06-01 21:48 MasonLee 阅读(743) 评论(0) 推荐(0) 编辑
摘要:## 一、孤立CPU ### 1、孤立CPU简介 针对CPU密集型的任务,CPU负载较高,推荐设置CPU Affinity,以提高任务执行效率,避免CPU进行上下文切换,提高CPU Cache命中率。 默认情况下,Linux内核调度器可以使用任意CPU核心,如果特定任务(进程/线程)需要独占一个CP 阅读全文
posted @ 2023-06-01 21:42 MasonLee 阅读(1084) 评论(1) 推荐(0) 编辑
摘要:time_t 是32位的整数,用来存放格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,不能表示毫秒,约能表示135年 _t timep(0);("%d \n", timep); //0(&timep); /*获得time_t结 阅读全文
posted @ 2023-02-17 16:47 MasonLee 阅读(439) 评论(0) 推荐(0) 编辑
摘要:一、现有A系统Centos7操作: 备注:A系统里最好不安装Docker,否则会报错 卸载不必要软件包 yum remove -y iwl* *firmware* --exclude=kernel-firmware 清理yum缓存 ean all-rf /var/cache/yum 打包文件系统 t 阅读全文
posted @ 2023-02-16 22:01 MasonLee 阅读(630) 评论(0) 推荐(0) 编辑
摘要:进入容器 在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入: docker attach docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。 attach 命令 下面演示了使用 docker attach 命 阅读全文
posted @ 2023-02-08 14:09 MasonLee 阅读(1925) 评论(0) 推荐(0) 编辑
摘要:本文给出了一种方法。基本思想是,写一个 wrapper文件,把 C++类封装起来,对外只提供C语言的接口,和 C++i相关的都在 wrapper的实现文件里实现。 1. apple.h #ifndef __APPLE_H__ #define __APPLE_H__ class Apple { pub 阅读全文
posted @ 2023-01-13 14:41 MasonLee 阅读(148) 评论(0) 推荐(0) 编辑
摘要:C++ deque的用法与示例 deque容器的介绍 Vector 容器是单向开口的连续内存空间,deque 则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,当然,vector 容器也可以在头尾两端插入元素,但是在其头部操作效率奇差,无法被接受。 de 阅读全文
posted @ 2022-12-19 16:31 MasonLee 阅读(226) 评论(0) 推荐(0) 编辑
摘要:前言 单链表结点中只有一个指向其后继的指针,使得单链表只能从头结点依次顺序地向后遍历。要访问某个结点的前驱结点(插入,删除操作时),只能从头开始遍历,访问后继结点的时间复杂度为O(1),访问前驱结点的时间复杂度为O(n)。 提示:以下是本篇文章正文内容,下面案例可供参考 一、双向链表是什么? 为了克 阅读全文
posted @ 2022-12-19 11:39 MasonLee 阅读(862) 评论(0) 推荐(0) 编辑
摘要:本文将对一个通过管道写入和读取数据的测试程序进行反复优化,以此研究 Unix 管道在 Linux 中的实现方式。 我们从一个吞吐量约为 3.5GiB/s 的简单程序开始,并逐步将其性能提升 20 倍。性能提升通过使用 Linux 的 perf tooling 分析程序加以确认,代码可从GitHub上 阅读全文
posted @ 2022-12-08 21:10 MasonLee 阅读(236) 评论(0) 推荐(0) 编辑
摘要:C++里自带的有全排列的函数用起来的非常的方便,不知道大家刷算法题的时候有没有遇到过这样的问题,当有些题目中需要用到组合的时候呢?如果是固定的几个数的组合,这样还好,可以通过几个循环就搞定了。那么当遇到不是固定的几个数呢?也就是的动态的呢?虽然该算法不难,但是如果在竞赛中遇到这样的问题也是要花费大量 阅读全文
posted @ 2022-12-08 10:57 MasonLee 阅读(427) 评论(0) 推荐(0) 编辑
摘要:Rust 调用C/C++ 需要引入cc依赖 Cargo.toml [package] name = "rust-call-c" version = "0.1.0" authors = ["ice <bsqql123@163.com>"] build = "build.rs" [dependencie 阅读全文
posted @ 2022-11-09 09:46 MasonLee 阅读(66) 评论(0) 推荐(0) 编辑
摘要:本文给出了一种方法。基本思想是,写一个 wrapper文件,把 C++类封装起来,对外只提供C语言的接口,和 C++i相关的都在 wrapper的实现文件里实现。 1. apple.h #ifndef __APPLE_H__#define __APPLE_H__class Apple{public: 阅读全文
posted @ 2022-11-09 08:18 MasonLee 阅读(139) 评论(0) 推荐(0) 编辑
摘要:#include <boost/date_time/posix_time/posix_time_types.hpp> #include <boost/log/trivial.hpp> #include <boost/log/expressions.hpp> #include <boost/log/s 阅读全文
posted @ 2022-10-27 17:02 MasonLee 阅读(146) 评论(0) 推荐(0) 编辑
摘要:logger是用户接触最多的类 可分为无保护和线程安全两类,线程安全的以_mt结尾 logger有窄字符和宽字符的,宽字符的以w开头,如wlogger_mt logger类可复制,可创建的,可作为自定义类的成员 boost.log提供多种logger,参见网页 直接使用 如下即可: #include 阅读全文
posted @ 2022-10-27 16:26 MasonLee 阅读(1353) 评论(0) 推荐(0) 编辑
摘要:很多新手引用Boost库编程,在ubuntu下编译时候有时候会出现如下错误: test04.cpp:(.text+0x2c): undefined reference to `boost::program_options::options_description::m_default_line_le 阅读全文
posted @ 2022-10-27 13:31 MasonLee 阅读(1355) 评论(0) 推荐(0) 编辑
摘要:#ifndef LOGGER_H #define LOGGER_H #include <stdexcept> #include <string> #include <iostream> #include <fstream> #include <boost/log/common.hpp> #inclu 阅读全文
posted @ 2022-10-27 11:47 MasonLee 阅读(518) 评论(0) 推荐(0) 编辑
摘要:概述 Boost库的Log模块用于实现日志,虽然功能强大,但比较复杂,学习起来比较费时。 为此,我将其进行了封装成日志类,以方便日后使用。 该日志类具有多线程安全、可以使用中文字符等优点。 类头文件 #pragma once#include <string>#include <boost/log/s 阅读全文
posted @ 2022-10-27 11:36 MasonLee 阅读(651) 评论(0) 推荐(0) 编辑
摘要:这一篇主要补充Windows下WSL(Linux 子系统)创建,以及在WSL和远程Linux系统下编译和调试CMake项目。 Widnows下创建WSL 1. 右键左下角的Windows图标=》应用和功能=》启用或关闭Windows功能 2. 选中“适用于Linux的Windows子系统,确定 3. 阅读全文
posted @ 2022-10-27 10:50 MasonLee 阅读(1285) 评论(0) 推荐(0) 编辑
摘要:最近正好用到,感觉很好用,所以分享给大家。 1.创建Cmake项目 这里的解决方案和项目的概念和VC++项目的一样,解决方案就是项目的合集,项目是对应每一个静态库,动态库和可执行文件的编译目标。 创建完成: 我建议一定要把上图红框的两个内容看一遍。CMake相关的知识我都会带过,因为内容太多了就很难 阅读全文
posted @ 2022-10-27 10:49 MasonLee 阅读(3975) 评论(0) 推荐(1) 编辑

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