自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 wsl --update 太慢

windows 更新了,wsl 用不了,提示使用wsl --update 命令。但是这个命令不能科学上网,科学上网就报错已拒绝。但是不科学上网,下载地又非常慢。

2025-03-03 15:11:38 429

原创 tmux 介绍与使用

比如,我在终端命令行执行htop。当我关闭这个终端时,htop进程也随着这个终端的关闭而结束。我在终端运行着一个程序,它应该一直运行着。我一不小心把终端关闭了,这个程序也随之停止了。tmux就是用来解决这个问题的。即终端关闭,在终端运行着的程序不会关闭。

2025-01-25 21:39:54 732

原创 docker使用笔记

(-cs。

2025-01-19 22:13:01 520

原创 kmp算法

然后再次判断pattern[j] 是否 = pattern [k],如果相等,说明这个更小的字串是合适的,那么next[j] = k+1,同时,把k更新为 k = next[j]。next[6]=3 表示pattern[0:6](闭区间,包含头尾)中,后缀串等于前缀串的最长后缀串长度为3.下面说成最长相等前缀串或者最长相等后缀串为3。0时,next[k-1]=next[-1]是不合法的。那么next[j] = k+1,同时,把k更新为 k = next[j]。如果不相等,则让j回溯到next[j-1]。

2024-11-21 16:41:30 417

原创 Qt 元对象系统 - 反射篇

QT的大部分类型都能反射。有拷贝构造函数有赋值号运算符重载有!=(本类型)运算符重载Q_DECLARE_METATYPE() 申明第一个和第二个可以是默认的。但有时编译器不一定能生成拷贝构造函数或者赋值号构造函数。典型的如继承了QObject的类。因为QObject delete了拷贝构造函数。所以编译器不会为它的派生类生成默认的拷贝构造函数。举例如下:有一个自定义类public:QString mName = "王老师";

2024-11-19 20:46:02 1300

原创 spdlog滚动日志以及编译加速

是使用spdlog的是时候发现,include 了<spdlog/spdlog.h>头文件的.cpp文件总是编译的非常慢。但由于他是日志库,大量的源文件会使用它,所以如果它编译慢肯定是不能登上大堂的。有这个宏定义,spdlog才会使用库版本,否则使用的是仅头文件版本。spdlog的滚动日志中,编号最小的日志文件是最新的。当0号日志文件写满时,会把0号日志文件改名为1号。(如果1号日志文件存在,则 把1号日志文件变成2号,依次类推)。使得日志目录中每个日志文件大小固定,日志文件数量有最大值。

2024-11-12 16:20:47 533

原创 CMake 实战

本文列举了cmake在项目上的使用。包括如何使用第三方库(第三方库以多种方式提供),如何保证模块内自治,用一个命令使用自治得当的其他模块。

2024-11-12 15:28:57 609

原创 mysql 两阶段锁协议(2PL)的作用

两阶段锁是怎么运行的,以及如何证明他产生的调度得到的最终结果一定是和某个串行执行结果相同,就不写了,两阶段锁协议是什么网上可以找得到,证明我还没找到。而非串行调度指的是运行事务1的一个操作,然后运行事务2的操作,然后由运行事务1的操作。运行事务1事务2,结果要么是B=3,A=4(先执行事务1,再执行事务2),要么是A=6,B=7,(先执行事务2,再执行事务1)。然后各自写A,和B,结果是A=6,B=3,他和任意一个串行化执行(先执行事务1再执行事务2或先执行事务2再执行事务1)都不同。

2024-11-07 19:38:16 419

原创 linux mysql8大小写敏感问题

在windows或者macOs,mysql对表明的大小写是不敏感的,但是在linux上是敏感的。笔者写了一个程序,程序里的sql语句没有注意大小写问题,访问windows的mysql没有问题,但访问Linux的就出问题了。于是着手解决这个问题,让linux的mysql也变得大小写不敏感。

2024-11-05 11:39:14 742 1

原创 《c++并发编程》中无锁栈的实现为什么要用双引用计数器

c++并发编程》中,实现无锁栈用了引用计数技术。原因是,pop方法要删除栈顶中的节点,然而,由于1.读取栈顶指针->2.根据栈顶指针访问栈顶节点、获取栈顶节点所保存的数据以及下一个节点指针next_node->3.更新栈顶指针为next_node->4.删除栈顶节点这4个 步骤不能做到原子,所以可能出现下面情况,线程A执行完步骤1后,在执行步骤2之前,线程B一口气执行完步骤1-4,把节点删除了,然后线程A执行步骤2,就是一个空悬指针解引用的错误,因为线程A并不知道他要访问的节点,已经被线程B删除了。

2024-04-13 10:31:27 814 2

原创 https的过程以及为什么安全

他首先从CA处获得公钥,然后用公钥解密数字签名。然后用与CA同样的摘要算法对证书其他部分做摘要。如果一样,就可以证明证书确实是由CA颁发的。因为如果一个数字签名不是由CA的私钥加密的,CA的公钥解密出来的摘要就和客户自己对证书其他部门的摘要不同。然而,其他人几乎不可能有CA的私钥,所以他就无法冒充CA颁发证书。但这里的前提是,客户手上的CA的公钥,是真真正正的CA的公钥,而不是冒充的CA的公钥。要做到这点,只需要操作系统出厂时,由可信的操作系统厂商把真正的CA公钥提前注入到系统中即可。

2024-03-12 11:15:17 910

原创 使用国内源,加速docker镜像的下载

(:)进入命令行模式。Docker中国区官方镜像。按esc键退出插入模式。

2024-03-06 20:22:44 2508

原创 unbuntu一条命令安装docker

【代码】unbuntu一条命令安装docker。

2024-03-06 20:17:10 451

原创 pthread_cancel

延迟取消不会使得线程立即取消,只是给线程发送一个信号。线程会在取消点检查是否有信号,有信号才取消。也就是延迟到取消点取消。取消点有 IO(printf也是IO),pthread_mutex_lock(),phtread_join(),phtread_testcancel()函数等。目前,我没有 找到线程取消的回调函数写法。也就是线程被取消后,可能来不及释放它的资源。函数可以取消一个线程的执行。有两种取消方式:立即取消和延迟取消。

2024-02-07 11:41:18 473

原创 纯虚析构函数需要实现

纯虚函数不需要实现也可以编译通过,但是纯虚析构函数例外。即使把析构函数声明为纯虚,也需要在某一个.cpp文件中给一个定义。

2024-02-06 17:06:55 441

原创 多进程共享的pthread_mutex_t

不用被设置为PTHREAD_PROCESS_SHARED的attr初始化mutex,mutex也能保证互斥:实验表明,如果进程不调用sleep(),省略与不省略步骤4-5的结果是一样的,没有任何两个进程同时进入临界区。不设置PTHREAD_PROCESS_SHARED可能还有其他不预期的事发生,所以还是设置PTHREAD_PROCESS_SHARED好。pthread_mutex_init有个规定,那就是它init的那片内存为全0。它就是mutex初始化时的一个指导,这个指导在哪个位置并不重要。

2024-01-21 17:43:35 854 3

原创 c++ 要求用户输入整数时的风险

不管用户输入的是什么,首先全都接受了,然后再转换为整数。这里使用stoi而不是atoi,是因为atoi在无法把字符串转化为数字时返回0。无法区分是数字就是0,还是无法转换。stoi在无法转化时是抛出异常且不返回。第三行使用getline,还是cin>>a_s。这样这些错误内容可能会使得后面的输入混乱。因为这些错误的内容可能会留在缓冲区。或者用不正确的值覆盖掉a的默认值。因为用户的输入可能无法转化为整数。或者除了整数外输入了额外的内容。为了保证不受用户错误输入的影响。要求用户输入整数时,如果直接这样。

2023-10-28 21:27:31 261

原创 c++和java实现策略模式的差异

c++的对象有两种实例化方式,一种是局部变量中直接实例化。一种是new出来的。java的对象构建,没有第一种方式,java的对象都是new 出来的。

2023-10-27 17:30:15 383

原创 读磁盘概述

一个磁盘有很多个盘面,上面是其中一个盘面,每个盘面对应一个磁头。磁盘的最小单元是扇区,通过CHS可以定位到一个确定的扇区,每个扇区一般是512个字节。

2023-08-02 20:19:51 344

原创 30天自制操作系统 day2 32位处理器的几个寄存器 换种方式制作磁盘镜像 makefile

用的是它自己写的工具,叫edimg。使用方式如下读取fdimg0at.tek,在读取ipl.bin,从ipl.bin的开头读512个字节到fdimg0at.tek中,并另存为helloos.img。ipl.bin就是编译出来的二进制代码。可以用作者提供的启动程序,也可以用day1自己写的。作者提供的程序多了一些内容。是一些参数。

2023-07-22 20:16:55 200

原创 30天自制操作系统 day 1 写一个可以在没有操作系统的计算机上输出字符串的程序,并在计算机上运行

工具:qemu 模拟器。

2023-07-22 18:42:40 147

原创 ubuntu装vmware tool

【代码】ubuntu装vmware tool。

2023-07-17 18:16:19 68

原创 QTQSS设置背景只能被设置一次

但是运行时,一旦被设置了一次border-image,后面再设置border-image的时候已经没有效果了。当控件的属性为off的时候,背景为一张图片,属性为on的时候为另一张图片。

2023-04-10 22:07:31 117 1

原创 QT样式表详解

了解QT样式表,看这一篇就够了。

2023-04-10 17:30:45 3626

原创 QT 支持多行粘贴的表格

从excel表格 中复制,然后选中表格单元格。ctrl+v粘贴。当表格行数不足的时候,会自动补充行。需要继承QTableView实现这个功能。

2023-04-07 00:02:15 453

原创 QT设置图标

把.ico文件放到工程目录中,于.pro文件同级,然后在.pro文件中加上。

2023-04-06 23:47:35 507

原创 linux 进程信号编程 ctrl+C杀死父子进程

在终端中按下ctrl+C,会向当前前台进程以及其子进程发送一个SIGINT信号。

2023-04-03 23:00:44 757

原创 c++操作系统宏定义

_unix _unix_Linux _linux_linux_Windows32or64_WIN32_WIN64APPLE

2023-04-02 22:11:36 117

原创 c++函数重载二义性

指用于定义的类形转换为其他类型。

2023-03-28 21:33:01 257

原创 c++函数引用参数可能创建临时变量

c++引用参数也可能创建临时变量,这种情况发生在,实参类型与形参类型不同,但实参可以转化为形参类型,且形参类型是const的情况。另外,如果形参类型不是const,而实参类型与形参不匹配,那么编译是通不过的。

2023-03-28 16:03:37 236

原创 fatal error: GL/gl.h: No such file or directory

【代码】fatal error: GL/gl.h: No such file or directory。

2023-03-28 10:12:39 490

原创 ubuntu papi安装

【代码】ubuntu papi安装。

2023-03-28 10:02:37 201

原创 ubuntu 安装qt

自己选择想要安装的版本。

2023-03-28 09:56:43 185

原创 c++子类构造函数与赋值号重载说明

子类构造时一定会调用父类的构造函数,如果用户没有说明调用父类的哪一个构造函数,则调用父类的无参构造函数。如果父类没有无参构造函数,则编译错误。

2023-03-22 20:04:18 212

原创 cin特性

这个会忽略空格和回车以及制表符。>>不会丢掉,也不会消费它们。

2023-03-20 22:17:03 155

原创 QT学习记录()QToolBar的addWidget

QtoolBar是可以插入用ui设计的组件的。最终实现的效果如下。

2023-03-18 11:40:21 1242

原创 QT学习记录(8) resouces资源管理

QT resources资源管理

2023-02-27 11:31:20 336

原创 QT学习记录(六)类对象属性

类对象属性Property classinfo

2023-02-19 15:27:18 759

原创 QT学习记录散件

本文介绍我在学习QT的时候,想要记录的一些东西,但这些东西比较散,单独发一篇觉得内容可能太少了。

2023-02-19 10:55:20 440

原创 QT学习记录(五)布局

本文对QT中的布局做介绍。持续更新

2023-02-19 10:52:24 86

空空如也

空空如也

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

TA关注的人

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