自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 【shell学习1】

3、用于存储上一个命令的执行状态。当一个 shell 命令执行完毕后,它会返回一个状态值,表示该命令执行的结果。变量会自动保存该状态值,以便后续的脚本代码可以根据该状态值来判断命令是否执行成功。状态值是一个整数,它的取值范围通常为 0 到 255。其中,状态值为 0 表示命令执行成功,而非零状态值则表示命令执行失败或出现错误。2、-eq,-ne等比较符只能用于数字比较,有字符也会先转换成数字然后进行比较。1、在shell中进行比较时,结果为0代表真,为1代表假。

2023-11-09 14:59:52 51

原创 Linux下串口读写通信

int fd = 0;//串口通信句柄#define RS485_NODE "/dev/uart1" //RS485节点static pthread_mutex_t g_mtxChipwnd = PTHREAD_MUTEX_INITIALIZER;//加互斥锁//打开串口句柄fd = open(RS485_NODE, O_RDWR | O_NOCTTY, 0);if (-1 == fd){ printf("open serial port %s failed.\n", RS485_NOD

2021-09-29 15:00:17 839

原创 互斥锁和读写锁

1.互斥锁的创建1.pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;2.pthread_mutex_t mutex;pthread_mutex_init(&mutex);以上两种方式都行互斥锁在一个线程中的使用pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;//创建互斥锁并初始化pthread_mutex_lock(&mutex);...

2021-05-08 17:25:56 219

原创 拷贝构造函数

1.什么是拷贝构造函数:CA(const CA& C)就是我们自定义的拷贝构造函数。可见,拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它的唯一的一个参数是本类型的一个引用变量,该参数是const类型,不可变的。例如:类X的拷贝构造函数的形式为X(X& x)。当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用。也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数:① 程序中需要新建立一个

2021-04-13 17:08:19 100

原创 数据库搜索 排序分页

{ "metaID": "", "searchID": "123484644541", "timeSpanList": { "timeSpan": { "startTime": "2021-04-06", "endTime": "2021-04-13" } }, "wildcard": "", "searchResultPostion": 40

2021-04-12 20:56:14 113

原创 C++中类的大小计算方法总结

C++中类的成员函数,静态成员是不占类的大小的。 类的大小等于基类的大小+子类个non-static成员变量的大小再+非虚基类大小, 如果有多态性还要考虑vptr(可能不止一个)大小,这里成员变量是会被字节对齐的。空类的大小为1字节字节对齐的问题成员变量需要整齐的存储,所以若是有不同类型的变量(本身占用字节数不同),则所有变量的大小会按照最大的的大小进行补齐,比如说,若是一个类中有个bool型和int型,则bool型也会占用4个字节。若最大的为short,则bool型或...

2021-04-10 15:44:50 1132

原创 C/C++ 中 static 的用法全局变量与局部变量

static的作用(1)在修饰变量的时候,static修饰的静态局部变量只执行初始化一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 (2)static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是 extern 外部声明也不可以。(3)static 修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。static修饰的变量存放在全局数据区的静态变量区,包括全局静态变量和局部静态变量,都在全局数据区分配内存。初始化的时候自动初始化为

2021-04-09 16:40:41 1028

原创 堆和栈

堆和栈的区别是什么1、堆栈空间分配区别栈(操作系统):由操作系统(编译器)自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。2、堆栈缓存方式区别栈使用的是一级缓存, 它们通常都是被调用时处于存储空间中,调用完毕立即释放。堆则是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。

2021-04-08 17:02:11 87

原创 虚函数和纯虚函数

虚函数为了重载和多态的需要,在基类中是有定义的,也可以定义为空,子类中可以重写 也可以不写基类中的此函数!纯虚函数在基类中是没有定义的,必须在子类中加以实现。虚函数class Cman{ public: virtual void Eat(){……}; void Move(); private:};class CChild : public CMan{ public: virtual void Eat(){……}; private:};CMan m_man;CChild

2021-03-23 17:09:17 323

原创 vector与list区别

vector适用:对象数量变化少,简单对象,随机访问元素频繁list适用:对象数量变化大,对象复杂,插入和删除频繁最大的区别是,list是双向的,而vector是单向的。vector 为存储的对象分配一块连续的地址空间,因此对vector中的元素随机访问效率很高。在vecotor中插入或者删除某个元素,需要将现有元素进行复制,移动。如果vector中存储的对象很大,或者构造函数复杂,则在对现有元素进行拷贝时开销较大。对于简单的小对象,vector的效率优于list。list中的对象是离散存

2021-03-23 16:11:12 254

原创 malloc和new的区别

区别1.new 返回指定类型的指针,并且可以自动计算所需要大小。//比如:int *p;   p = new int; //返回类型为int* 类型(整数型指针),分配大小为 sizeof(int);   //或:   int* parr;   parr = new int [100]; //返回类型为 int* 类型(整数型指针),分配大小为 sizeof(int) * 100;  而 malloc 则必须要由我们计算字节数,并且在返回后强行转换为实际类型的指针。int* p;  .

2021-03-23 15:59:00 84

原创 网站url实现下载文件时,修改浏览器 默认自动保存文件名

网站提供下载服务时经常需要实现一个强制下载功能(即强制弹出下载对话框),并且文件名保持和用户之前上传时相同。Content-Disposition使用 HTTP Header 的 Content-Disposition: attachment 可以实现下载时强制弹出下载对话框。Content-Disposition: attachment; filename=filename.extContent-Type浏览器对已知类型的文件(如jpg、pdf、txt等)直接在浏览器内打开,我们通过设置htt

2021-03-12 17:28:21 2027

原创 掩码为255.255.255.0,IP地址的最后一位不可以是255或0

**- [ ]当一个网段的掩码为255.255.255.0的时候,通常IP地址的最后一位度不可以是255或问0。因为这种掩码的网段,最后一位是0的IP是网段的网络地址; 最后一位是255的IP是网段的广播地址,不能分配给主机。假设一个网段为172.16.0.0,它的掩码是255.255.254.0,那么专它的主机可用地址范围是属172.16.0.1到172.16.1.254,即172....

2020-05-06 16:58:12 8010

原创 sqlite3 查找表格具体信息

int sqlite3_get_table( sqlite3 *db, /* An open database */ const char *zSql, /* SQL to be evaluated */ char ***pazResult, /* Results of the query */ int *pnRow, /* Nu...

2020-05-06 16:39:09 809

转载 Select count(*) from与Select * from的区别

语句一:select count(*) from T;作用:查询T表中数据的行数。语句二:select * from T;作用:查询T表中所有的数据。区别:语句一查询结果为一个数值,就是表中数据条数;语句二查询结果是表中所有数据,就是包括字段名字,字段里面的内容的详细信息。简单记:Select count(*) 返回的是记录的数目Select * 返回的是记录内容...

2020-05-06 16:29:22 5828

原创 视频参数 相关解释

1、分辨率(Resolution) 视频分辨率是指视频成像产品所成**图像的大小或尺寸**,它的表达式为:“水平像素数*垂直像素数”。常见的图像分辨率有QCIF(176×144),CIF(352×288),D1(704×576),720P(1280×720),1080P(1920*1080)。摄像机成像的最大分辨率是由CCD或CMOS感光器件决定的。现在有些摄像机支持修改分辨率,是通过摄像机...

2020-04-23 11:03:12 2157

原创 C语言 将数据保存为文件 从文件读出数据

将指针指向的数据保存为文件 int fileFd = -1; pconfig = pData;//pData保存了数据 size表示数据大小 fileFd = open("/user/filename.bin", O_CREAT|O_RDWR|O_TRUNC, 0777); if (-1 == fileFd) { return ERROR...

2020-04-21 17:07:58 3471

原创 挂载 抓包

挂载:mount -t nfs -o nolock 192.1.1.124:/xxx/nfs/mount /0421tcpdump抓包:tcpdump host 192.65.74.227 and 192.1.1.124 -w /test/tcp.cap & //抓227和124在这里插入代码片 ip之间的包 -w 后面是保存文件路径wireshark抓包ip.sr...

2020-04-21 16:30:27 226

空空如也

空空如也

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

TA关注的人

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