• 2024-09-19Monorepo大作战:带你一条龙上手,0基础到完全用起来!
    一句话文学:说清楚:一个正常完整的,创建monorepo项目的步骤创建一个完整的monorepo服务涉及多个步骤,从代码仓库的设置、包管理工具的配置,到打包和部署流程。以下是完整的步骤说明,每一步都有详细解释,包括主流程及拓展部分。1.设置代码仓库结构首先,创建一个代码仓库,并
  • 2024-09-19蓝易云服务器 - Ubuntu配置Samba服务教程
    在Ubuntu上配置Samba服务的教程如下:安装Samba软件:打开终端,运行以下命令安装Samba软件。sudoapt-getupdatesudoapt-getinstallsamba创建共享目录:在合适的位置创建一个目录,用于共享文件。比如,创建一个名为“shared”(共享)的目录。sudomkdir/shared配置Samba:打开Samba配置文件
  • 2024-09-18java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found: neede
    一、概述在AndroidStudio中集成opencv,使用其native函数时报的一个错误 二、解决办法opencv提供的native文件夹中提供的是动态库但是在gradle中的配置中,配置的stl是静态的,将其改为shared就行了externalNativeBuild{cmake{cp
  • 2024-09-16C++从小白到大牛:C++智能指针的使用、原理和分类
    C++从小白到大牛:C++智能指针的使用、原理和分类引言在C++编程中,指针是一个强大但危险的工具。它们允许直接操作内存,但也可能导致内存泄漏、悬空指针等问题。为了解决这些问题,C++引入了智能指针(SmartPointers)的概念。智能指针是一种封装了原始指针的对象,它们自动管理内存的生命周期
  • 2024-09-1606: 抽象工厂模式
    1. 案例  在Access和SQLserver分别插入User表和Department表2. 抽象工厂模式结构 -抽象产品(AbstractProduct):所有产品的基类,提供产品类的公共方法structUser{std::stringm_sName="";uint32_tm_uiID=0;};classIUser{public:virtualvoi
  • 2024-09-1605: 工厂方法模式
    1. 案例:加减乘除运算2.工厂方法模式结构 - 抽象工厂(AbstractFactory):所有生产具体产品的工厂类的基类,提供工厂类的公共方法template<typenameT>classOperationFactory{public:virtualstd::shared_ptr<Operation<T>>CreatOperation()=0;};-具体工
  • 2024-09-1604: 代理模式
    1.案例:B帮助A追求C2. 代理模式结构 - Subject(抽象主题角色):声明了代理主题角色和真实主题角色共同接口;classGiveGift{public:virtualvoidGiveDolls()=0;virtualvoidGiveFlowers()=0;virtualvoidGiveChocolate()=0;};-RealSubject(
  • 2024-09-1603: 装饰模式
    1.案例:手机->贴膜->戴保护套->贴卡通贴纸->系手机挂绳2.组合模式和装饰模式组合模式和装饰模式都可以用来透明的把对象包装在具有同样接口的另一个对象中。组合模式和装饰模式都是结构型模式。组合模式着眼于把众多子对象组织为一个整体;装饰模式着眼于在不修改现有对象或从其
  • 2024-09-1602策略模式
    1.案例:营业员根据客户所购买商品的单价和数量,根据不同活动向客户收费**-正常原价收费-八折收费-满300返1002.策略模式结构-抽象策略类(Stategy):声明算法的方法,抽象层的设计使上下文类可以无差别的调用不同的具体策略的方法enumCashType{NORMAL=0,RE
  • 2024-09-16GCC安全编译选项
    以CMake为例,给出安全编译选项的定义。关闭RPATH特性。set(CMAKE_SKIP_RPATHTRUE)开启栈保护。set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-fstack-protector-strong")或者set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-fstack-protector-all")开启GOT表保护。set(CM
  • 2024-09-11C++复习day10
    智能指针为什么需要智能指针?#include<iostream>usingnamespacestd;intdiv(){ inta,b; cin>>a>>b; if(b==0) throwinvalid_argument("除0错误"); returna/b;}voidFunc(){ //1、如果p1这里new抛异常会如何? //2、如果p2这里new抛异常会
  • 2024-09-10智能指针
    C++智能指针解析为什么需要智能指针众所周知,Java和C/C++中间隔着一堵由内存动态分配和垃圾回收机制所围成的墙。java大佬们经常吐槽C++没有垃圾回收(GabageCollector)机制,而C++爱好者也经常攻击Java限制太死,不够灵活。其实Java并不是最早实践内存动态分配和垃圾自
  • 2024-09-10智能指针怎么就智能了?
    在C++中,内存泄漏是一个不太容易发现但又有一定影响的问题,而且在引入了异常的机制之后,代码的走向就更加不可控,更容易发生内存泄露。【补充:内存泄露(MemoryLeak)指的是在程序运行期间,动态分配的内存没有被释放或无法被回收,从而导致这些内存块一直被占用而无法再被使用的情况。
  • 2024-09-09【C++基础概念理解——std::unique_ptr如何管理动态分配的对象的生命周期?】
    文章目录问题解释问题std::unique_ptr用于管理动态分配的对象的生命周期,那么这种智能指针怎么实现管理生命周期的呢?解释用于确保对象不再使用时自动释放,从而避免内存泄漏。std::unique_ptr独占管理对象的所有权,同一时间只能有一个std::unique_ptr指向该对象。确保
  • 2024-09-08【C++11及其特性】智能指针——shared_ptr
    大家好,这里是国中之林!❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看←shared_ptr目录一.共享性智能指针二.shared_ptr的共享原理三.shared_ptr的构造函数1.普通的2.数组的3.带删除器
  • 2024-09-08【C++】智能指针
    目录1.智能指针简介2. std::unique_ptr2.1.特点2.2.使用示例3. std::shared_ptr3.1.特点3.2.使用示例4. std::weak_ptr4.1.特点4.2.使用示例5.使用智能指针的注意事项5.1.选择合适的智能指针类型5.2.避免循环引用5.3.谨慎使用自定义删除器5.4.注
  • 2024-09-05C++11新特性
    C++11主要新特性有类的初始化与函数、新增关键字、std库新特性、lambda表达式、智能指针、线程1.关键字()nullptr取代NULL、0()constexpr:显式声明函数返回值、变量是一个常量表达式()auto:对变量类型推导,()decltype:对表达式类型推导,用法为decltype(表达式)()using:声明使用的命
  • 2024-09-03使用docker部署tensorrtllm推理大模型baichuan2-7b
    简介大模型的推理框架,我之前用过vllm和mindie。近期有项目要用tensorrtllm,这里将摸索的过程记录下,特别是遇到的问题。我的环境是Linux+rt3090准备docker环境本次使用docker镜像部署,需要从网上拉取:dockerpullnvcr.io/nvidia/tritonserver:24.08-trtllm-python-py3Th
  • 2024-08-29智能指针
    智能指针在C++中管理动态内存可以使用new和delete,但通过这种方式得到的指针(裸指针)是容易忘记释放的进而导致内存泄漏。因此C++标准中提供了智能指针shared_ptr,weak_ptr和unique_ptr来进行动态内存的管理。智能指针的设计满足了RAII(ResourceAcquisitionIsInitialization)的特
  • 2024-08-27C++智能指针
    1.为什么需要智能指针大家来看下面这段程序我们new了两个arraydoubleDivision(inta,intb){ //当b==0时抛出异常 if(b==0) { throw"Divisionbyzerocondition!"; } return(double)a/(double)b;}voidFunc(){ int*array1=newint[10]; int*
  • 2024-08-26SmartPointer
    1.Smartpointer是指针类,会自动释放指针分配的空间2.包括auto_ptr,shared_ptr,unique_ptr3.使用方法(1)包含#include(2)实例化auto_ptrpd(newdouble);auto_ptrps(newstring);unique_ptrpdu(newdouble);shared_ptrpss(newstring);(3)显式类型转换shared_ptrpd;double
  • 2024-08-26C++智能指针
    文章目录RAIIauto_ptrunique_ptrshare_ptrshared_ptr的线程安全问题shared_ptr循环引用weak_ptrRAIIRAII(ResourceAcquisitionIsInitialization)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。在对象构造时获取资源,接
  • 2024-08-25[C++] 初识 智能指针
    标题:[C++]初识智能指针@水墨不写bug目录一、前言二、智能指针1.什么是RAII?2.智能指针分类 三、智能指针简介1.std::auto_ptr2.std::unique_ptr3.std::shared_ptr正文开始:一、前言    C++智能指针的出现是有一定的背景的:    Java有专属
  • 2024-08-25C++拾趣——转换编译器生成的类型名为代码中的类型名
    大纲代码测试代码地址在软件开发中,特别是在使用C++这类静态类型语言时,编译器在编译过程中会生成许多内部表示,包括类型信息。这些内部类型名通常用于编译器的内部处理,比如类型检查、优化和代码生成等。然而,在编写源代码或进行调试时,我们更习惯于使用人类可读和易于理
  • 2024-08-23【C++】12.智能指针
    在上一篇博客【C++】11.异常中我们知道有些时候会造成内存空间的未释放从而导致内存泄漏,因此本篇博客的内容就是如何减少内存泄漏——智能指针。一、RAIIRAII(ResourceAcquisitionIsInitialization)是一种利用对象生命周期来控制程序资源的简单技术,因此又被称为资源获取