1、命名空间引入主要是为了解决重定义问题,系统中可以定义多个命名空间,命名空间可以定义在多个文件,如果以往没有出现就是定义一个命名空间,如果已经出现过,就代表打开定义的命名空间namespace 命名空间名字 { void way() { } } // 访问命名空间内容:使用作用域运算符:: 命名空间名字::way();2、auto关键字auto自动类型推断,可以在声明变量的时候,根据变量初始值
1、信号的基本概念1、 信号(signal)是软件中断,是进程之间相互传递信息的一种方法,用于通知进程发送了的事件,但是,不能给进程传递任何数据 2、信号产生的原因有很多,在Linux下,可以用kill和killall命令发送信号ps -ef | grep 需要查询的程序 kill 跟随的是进程号 killall 程序名一共有64个信号,每个信号对应自己的默认动作在这里插入图片描述进程状态表在这里
Hiredis是一个Redis的C客户端库函数,基本实现了Redis的协议的最小集。这里对hiredis的api作基本的介绍以及应用,主要参考hiredis的README文件以及相关源码。1、Ubuntu安装redis服务端Redis全称为Remote Dictionary Server(远程数据服务),是一款开源的基于内存的键值对存储系统,其主要被用作高性能缓存服务器使用,当然也可以作为消息中间
1、atomic使用原子操作,不可分割的操作,要么完整,要么不完整。#include <pthread.h> #include <unistd.h> #include <iostream> #include <atomic> usingnamespace std; atomic<int> g_acount; int g_count =0
1、类封装介绍1、ShareMemory类有4个有参构造函数,分别为通过key值连接共享内存,和创建共享内存,通过路径来连接共享内存和创建共享内存。 2、3个公有的成员函数, mapShm连接到共享内存 unmapShm断开连接 delShm删除共享内存 3、SecKeyShm类,继承ShareMemory类,SecKeyShm主要根据自身业务写, 主要功能: 两
1、CPU性能监控1.2、平均负载基础平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。平均负载其实就是平均活跃进程数。平均活跃进程数,直观上的理解就是单位时间内的活跃进程数。查看cpu个数:grep 'model name' /proc/cpuinfo | wc -l负载说明(现针对单核情况,不是单核时则乘以核数)up
1、Lua和C++交互1、lua和c++交互机制是基于一个虚拟栈,C++和lua之间的所有数据交互都通过这个虚拟栈来完成,无论何时C++想从lua中调用一个值,被请求的值将会被压入栈,C++想要传递一个值给Lua,首选将整个值压栈,然后就可以在Lua中调用。 2、lua中提供正向和反向索引,区别在于证书永远是栈底,负数永远是栈顶。在这里插入图片描述2、基础练习编译指令:g++ test.cpp -
1、概述1.1、xml介绍XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义。您需要自行定义标签。 XML 被设计为具有自我描述性。 XML 是 W3C 的推荐标准1.2、json介绍JSON(JavaScript Object Notation) 是一种轻
1、pandas简介Pandas(Panel Data的缩写)是一个开源的Python数据处理库,它提供了高性能、易用的数据结构和数据分析工具,用于处理和分析结构化数据。 Pandas的核心数据结构是DataFrame和Series,它们使数据的清理、转换、分析和可视化变得非常便捷。2、Series使用2.1、Series是一种类似一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之
1、项目介绍1、按照包头+包体的格式收发数据包,解决粘包的问题 2、非常完整的多线程高并发服务器 3、根据收到数据包执行,不同的业务逻辑函数 用到的技术: epoll高并发通讯技术,用的是水平触发【LT】水平触发模式 通过线程池技术处理业务逻辑 多线程、之间同步技术使用,互斥量、和条件变量 一个master管理进程,多个worker工作进程 信号、守护进程2、项目流程2.1、环境变量搬家1、统计a
1、规划makefile编写a、根目录下放三个文件:1、makefile:是咱们编译项目的入口脚本,编译项目从这里开始,起总体控制作用。 2、config.mk:配置脚本,被makefile包含,单独分处理,为了应付一些可变的东西。 3、common.mk:最核心的编译脚本,定义makefile编译规则,并且各个子目录中都用到这个来编译.c文件的编译b、每个子目录下都有一个叫做makefile的文
1、前言起初使用的是Cmake + Visual Studio 2019进行编译,使用的时候出现ssl错误,刚开始因为是openssl版本问题但是,多次更换版本重新编译,还是不行,可能是微软那一套对开源项目支持不是很友好,但是网上也有编译成功的案例,最终决定改用Mingw这一套进行编译。服务器日志信息: 2023-07-20T01:03:31: New client connected from
概述1、设计模式的分类总体来说设计模式分为三大类: 1、创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2、结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 3、行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 4、其
1、互斥锁(mutex)#include <stdio.h> #include <stdlib.h> #include <pthread.h> #define __USE_GNU #include <sched.h> #include <unistd.h> #include <setjmp.h> #include <
1、vector 使用动态数组,也叫可变数组,容器的空间是动态增长的,当空间不足时,申请更大一块空间,让后将原数据拷贝到新空间中,并释放原空间在这里插入图片描述1.1、初始化操作int arr[]={1,3,2,5}; // 1、方式一(初始化) vector<int> v1; // 容器尾部插入数据 v1.push_back(1); v1.push_back(2);
1、TCP协议介绍TCP协议是基于IP协议,面向连接,可靠基于字节流的传输层协议 1、基于IP协议:TCP协议是基于IP协议之上传输的,TCP协议报文中的源端口+IP协议报文中的源地址+TCP协议报文中的目标端口+IP协议报文中的目标地址,组合起来唯一确定一条TCP连接。 2、面向连接:与UDP不同,TCP在传输数据之前,需要进行三次握手,建立一条TCP连接,然后在进行数据传输,释放需要进行四次挥
1、安装ftp客户端yum -y install ftp2、ftp的用户缺省情况下,ftp服务器和操作系统用户名/密码一样,root用户的权限过大,不允许登录ftp服务器。3、登录服务器方法一:输入ftp 服务器ip地址,回车后根据提示输入用户名和密码在这里插入图片描述方法二:输入ftp,用open 服务器ip地址,连上服务器后再输入用户名和密码在这里插入图片描述方法三:输入ftp -n 服务器i
《c++解析xml文件(增删改查)看完必会》遍历xml所有节点下的数据已经在上一篇文章末尾写道,写法大同小异,资源下载也在上一篇提到, 这里就不再提及,这篇博客主要是对上一篇基础知识的运用,如有疑问,可以call我XML解析类#include <iostream> #include <string> #include <string.h> #include "t
《c++解析xml文件实际应用(增删改查进阶)看完必会》下载Tinyxml资源Tinyxml下载:https://sourceforge.net/projects/tinyxml/在这里插入图片描述下载完成之后进行解压,tinystr.h、tinystr.cpp、tinyxml.h、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp 6个文件放在你的项目目
1、QString常用转换f9设置 f5开始调试,进入下一个断点 f10单步 f11单步进入 shift+f11单步跳出 QString采用隐式共享: 16位unicode码 读共享,写复制,数据相同时,执行浅拷贝,仅复制数据库的指针,引用计数+1,数据不同深拷贝1.1、QString转(int、float、double)// 转int QString strAge("18");
创建链表(并初始化)#include <stdio.h> #include <stdlib.h> struct link // 定义链表的类型 { int data;// 数据区 struct link *next;// 地址区用来存放下一个元素的地址 }; // 函数声明 voiddisplay(struct link * p);// 遍历链表 intselect
cmake 的特点主要有: 1,开放源代码,使⽤类BSD 许可发布。http://cmake.org/HTML/Copyright.html 2,跨平台,并可⽣成native 编译配置⽂件,在Linux/Unix 平台,⽣成 makefile,在苹果平台,可以⽣ 成xcode,在 Windows 平台,可以⽣成 MSVC 的⼯程⽂件。 3,能够管理⼤型项⽬,KDE4 就是最好的证明。 4,简化编译
本文主要总结了一些常见的C++面试题,主要是面试过程中遇到以及网上收集,全部是以自己理解进行了作答,如有不明确的地方,欢迎大家前来学习指正,会不定期去更新面试内容。1、回调函数的了解?回调函数和c++中多态类似,主要功能是,对同一个消息,做出不同的响应,使用的是函数指针实现,通过传递函数指针类型,相同的函数地址实现动态绑定,实现对消息体的不同响应。2、递归算法解释?递归的基本思想是某个函数直接或者
1、交叉编译官方给的一个流程: RKNN 模型推理测试为了避免踩坑在开头提出来按照官方的流程可以跑通,他自己提供的yolov5s.rknn(640*640)的模型,但是跑自己的模型的时候加载就会出错E RKNN: failed to decode config data!Segmentation fault (core dumped),应该是这个地址的链接版本太老了,并且给出来的demo
1、银行卡识别项目参考文章操作流程:1、提取模板的每个数字读取图片->转换为灰度图像->二值化图像(大于10取0,小于取255)->轮廓检测->绘制轮廓->对所有轮廓进行排序->提取模板所有轮廓每个数字2、读取信用卡->转换为灰度图像->(顶帽操作、sobel算子操作、闭操作、二值化、二次膨胀+腐蚀轮廓检测、绘制轮廓)提取银行卡《四个数字一组》轮廓,
1、简介安装NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展
1、KNN算法简介KNN (K-Nearest Neighbor) 最邻近分类算法,其核心思想“近朱者赤,近墨者黑”,由你的邻居来推断你的类别。图中绿色圆归为哪一类?1、如果k=3,绿色圆归为红色三角形2、如果k=5,绿色圆归为蓝色正方形在这里插入图片描述参考文章knn算法实现原理:为判断未知样本数据的类别,以所有已知样本数据作为参照物,计算未知样本数据与所有已知样本数据的距离,从中选取k个与已知
1、什么是一元线性回归线性:两个变量之间的关系是一次函数,也是数据与数据之间的关系。回归:人们在测试事物的时候因为客观条件所限,求的都是测试值,而不是真实值,为了无限接近真实值,无限次的进行测量,最后通过这些测量数据计算回归到真实值,这就是回归的由来。KNN最近邻值是:KNN横纵轴坐标为两个特征,比如身高体重与某种疾病关系。一元线性回归:只有横轴是特征,纵轴是输出值,比如股价与时间的关系。通俗的说
1、交叉熵的简单例子参考文章例子我们希望通过图像轮廓、颜色等特征,来预测动物的类别,有三种可能类别(猫、狗、猪)假设我们现在有两个模型,都是通过sigmoid/softmax的方式得到的对每个类别预测的概率 。模型1:预测 真实 是否正确0.3 0.3 0.4 0 0 1 (猪) 正确0.3 0.4 0.3 0 1 0 (狗) 正确0.1 0.2 0.7 1 0 0 (猫) 错误模型1对于样本1和
1、YOLOv8安装及使用参考链接: 同济子豪兄视频 github原文链接# 安装yolov8 pip install ultralytics --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple # 验证安装成功 import ultralytics ultralytics.checks() # 安装其它第三方工具包 pip instal
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号