
C++
文章平均质量分 82
wbvalid
Linux、C/C++、CISP-PTE、Python、Oracle、MySql、Apache、Hadoop、分布式集群、虚拟化集群、自动化运维
展开
-
vscode新版本remotessh服务端报`GLIBC_2.28‘ not found解决方案
在本例的情况下,vscode-server端捆绑的node依赖的是GLIBC_2.28,那么我们只需要下载glibc 2.2.8版本即可,不需要下载太高的版本,因为更高版本依赖于高版本的make,as,ld等binutils,可能会无法顺利编译。通过vscode的remotessh插件连接老版本服务器(如RHEL7,Centos7)时,插件会报错,无法连接。首先,我们要进入vscode-server端的路径,通常情况下在家目录的这个位置。,千万不要覆盖系统的glibc,千万不要安装到系统PATH路径中。原创 2024-05-13 17:02:41 · 3767 阅读 · 2 评论 -
llvm和clang环境配置(续篇)
关于llvm和clang开发环境的配置之前已经发过一篇,当时是因为llvm官网给的文档省略了很多重要信息,需要额外补充一些信息才能完成环境配置。时隔许久,重新打开llvm官网,发现他们的文档已经更新了,写的非常详细,专门列举了一节用来解释如何在远古linux发行版上编译安装llvm+clang的方法。内容大体上和我上篇差不多,但是有些细节需要注意,是我上篇内容中遗漏的。原创 2023-01-19 17:49:37 · 1686 阅读 · 0 评论 -
clang和llvm环境搭建及使用详解
最直接的方案是从LLVM-project的Github Release页面上下载编译好的二进制包,我的环境是ubuntu-20.04 WSL2,因此可以直接开箱即用。如果是远古系统,例如CentOS7之类的,需要先编译一套GCC-11.2工具链,然后再通过GCC工具链编译LLVM+Clang;原创 2022-03-06 17:55:53 · 4563 阅读 · 0 评论 -
Ubuntu20.04 LTS 安装GCC11.2教程,包教包会!
GCC 11.2 安装前置条件首先把Ubuntu提供的各种构建工具都给他装上sudo apt install build-essential manpages-dev software-properties-common gcc g++ make bison binutils gcc-multilib flex下载源码包可以到gnu镜像列表找到离你最近的镜像站,下载源码包。注意一定要下载编译所需的依赖包。如下:(我这边最快的是jp的镜像站,每个人情况不同,根据实际情况替换其中的ftp.tsuk原创 2021-08-27 09:50:25 · 14225 阅读 · 7 评论 -
nlohmann-json库使用简介
nlohmann-json库使用简介GitHub地址 nlohmann/json简介JSON库千千万,为何nlohmann/json库那么热门呢?原因在于它的设计理念非常人性化:提供符合直觉的语法:可以像STL容器一样来使用,提供了丰富而且符合直觉的接口;简易的导入方式:仅头文件(header-only)形式的JSON库,方便整合到项目中;严谨的测试:简而言之就是不用担心库的解析出问题,准确率贼高。缺点也是有的:不追求内存的效率;不追求性能;因此,在不需要高性能的场景下,使用这个原创 2021-08-18 20:48:37 · 2543 阅读 · 0 评论 -
C++模板元编程基础之“std::enable_if”的使用
std::enable_if典型用法代码示例通过返回值使用:template<class T,class... Args>typename std::enable_if<std::is_trivially_constructible<T,Args&&...>::value>::type construct(T* t,Args&&... args) { std::cout << "construct原创 2021-08-03 16:30:02 · 1693 阅读 · 0 评论 -
Muduo网络库核心梳理
Muduo网络库Muduo网络库本身并不复杂,是一个新手入门C++面向对象网络编程的经典实战项目。但是,新手在刚刚上手读代码的时候,非常容易陷入代码的汪洋大海,迷失方向。本文旨在简要梳理Muduo网络库的核心内容,帮助初学者快速上手源码阅读。第一部分:概述通过学习Muduo网络库的源码,初学者可以掌握的主要知识点有:EventLoop事件循环的实现方式;Reactor反应堆模式在TCP网络通信编程中的基本实现方式;(可以从《UNIX网络编程》中参考各种通信模型)Socket API,Epoll原创 2021-07-24 15:11:14 · 4707 阅读 · 2 评论 -
关于STL容器vector与移动构造函数的小坑
最近在做一个线程类,考虑到将来会用STL容器来存放线程类的对象(后来思考了一下存智能指针也许会更好,详见后文分析),因此在设计线程类的时候,就主动声明了复制构造函数和左值引用赋值运算符为delete。然后手动实现了移动构造函数和右值引用赋值运算符,大概如下://因为考虑到线程类可能没有动态多态的需求,就用CRTP实现了静态多态//头文件就略了template<class Derived>class ThreadBase{protected: std::unique_ptr&l原创 2021-05-01 23:36:50 · 2506 阅读 · 0 评论