- 博客(29)
- 问答 (3)
- 收藏
- 关注
原创 格式化u盘
有时候我们需要格式化u盘,如果u盘格式选择不正确可能会导致无法存储大文件(超过4G),可以参考下面方法将u盘格式化成windows和linux系统公用的并且可以存储大文件的格式。sudo mkfs.exfat /dev/sda1 #输入真实的u盘挂载路径。可使用lsblk或者sudo fdisk -l查看。创建/删除分区,如果当前u盘的分区超过1个,并且想删除分区;或者当前没有创建分区,想创建分区。
2025-01-17 10:13:31
105
原创 Linux中的守护进程
守护进程(Daemon Process),也就是通常说的 Daemon 进程(精灵进程),是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。一般采用以d结尾的名字。
2025-01-02 13:07:05
837
原创 解决ubuntu更换显卡,同步更新显卡驱动后,开机无法进入图形界面的问题
由于大多数电脑的 CPU 都配备了核显,笔者介绍一种对于配备 NVIDIA 独显和 intel 核显电脑的解决方法,用 intel 核显来做图形化界面的显示设备,NVIDIA 独显仅仅当作计算(CUDA)设备,这样就绕过了 NVIDIA 显卡驱动带来的一系列和 GNOME、LightDM 等桌面环境不适配、不兼容的问题。7. 接着在屏幕配置段中修改图形设备为 intel 核显,将其中的 Device 属性的值设置为 intel 核显的设备的标识符。8. 保存并退出,重启电脑。1. 按住 Ctrl。
2024-12-31 10:44:10
946
原创 constexpr
在C++11之前只有const关键字,从功能上来说这个关键字有双重语义:变量只读,修饰常量注意:变量只读并不等价于常量,二者是两个概念不能混为一谈,分析一下这句测试代码const int& b = a1。
2024-12-30 11:48:12
927
原创 TCP粘包问题处理
在前面介绍套接字通信的时候说到了TCP是传输层协议,它是一个面向连接的、安全的、流式传输协议。因为数据的传输是基于流的所以发送端和接收端每次处理的数据的量,处理数据的频率可以不是对等的,可以按照自身需求来进行决策。TCP协议是优势非常明显,但是有时也会给我们造成困扰,正所谓:成也萧何败萧何。假设我们有如下需求:客户端和服务器之间要进行基于TCP的套接字通信通信过程中客户端会每次会不定期给服务器发送一个不定长度的有特定含义的字符串。
2024-12-25 17:31:48
1083
原创 Qt事件之事件处理器
从视觉上看是一个不规则按钮(按钮实际上都是矩形的)按钮上需要显示指定的背景图片按钮在鼠标的不同操作阶段(无操作、鼠标悬停、鼠标按下)能够显示不同的背景图1 添加子类:新添加的按钮类可以让它继承 QPushButton,也可以让它继承其他的窗口类(代价是当鼠标点击事件触发之后需要自己发射自定义信号),这里让添加的子类从QWidget类派生。Q_OBJECTpublic:protected:signals:private:// 加载图片。
2024-12-25 16:54:38
889
原创 Qt事件分发器
当事件产生被发送到对应的窗口之后,窗口并不会直接处理这个事件,而是对这些事件进行细分,然后根据事件的类型再次进行分发(相当于公司接了个项目,对项目进行查分之后分发给各个职能部门,由各个部门进行模块的开发),对应的事件处理器函数得到这个分发的事件之后就开始处理这个事件。关于窗口事件的分发,对应一个事件分发器,叫做event。
2024-12-25 16:33:29
260
原创 Qt事件过滤器
除了使用事件分发器来过滤Qt窗口中产生的事件,还可以通过事件过滤器过滤相关的事件。当Qt的时间通过应用程序对象发送给相关的窗口后,窗口接收到数据之前这个期间可以对事件进行过滤,过滤掉的时间就不能被继续处理了。QObject有一个eventFilter()函数,用于建立事件过滤器。既然要过滤传递中的事件,首当其冲还是要搞明白如何通过事件过滤器进行事件的过滤,主要分为两步:1给要过滤事件的类负向安装时间过滤器假设调用函数的对象为当前对象,那么就可以基于参数指定的filterObj。
2024-12-25 16:25:57
642
原创 类成员的快速初始化
在C++98中,支持了在类声明中使用等号 = 加初始值的方式,来初始化类中静态成员常量。这种声明方式我们也称之为”就地”声明。而非静态成员变量的初始化则必须在构造函数中进行。如果按照 C++98 标准来解读上面这段代码但不是整形或者枚举,无法通过编译但不是整形或者枚举,无法通过编译提示:上面程序中的static const 和 const static 是等价的。
2024-12-25 15:48:25
389
原创 noexcept
异常通常用于处理逻辑上可能发生的错误,在C++98中为我们提供了一套完善的异常处理机制,我们可以在程序中将各种类型的异常抛出,从而强制终止程序的执行。
2024-12-25 15:24:06
547
原创 静态断言 static_assert
断言(assertion)是一种编程中常用的手段。在通常情况下,断言就是将一个返回值总是需要为真的判断表达式放在语句中,用于排除在设计的逻辑上不应该产生的情况。比如:一个函数总需要输入在一定的范围内的参数,那么程序员就可以对该参数使用断言,以迫使在该参数发生异常的时候程序退出,从而避免程序陷入逻辑的混乱。从一些意义上讲,断言并不是正常程序所必需的,不过对于程序调试来说,通常断言能够帮助程序开发者快速定位那些违反了某些前提条件的程序错误。
2024-12-25 15:08:56
905
原创 Qt Quick 和Qml
Qt Quick 和Qml是一个东西。Qt Quick 是框架,Qml是语言。Qt Quick是用C++搭建起来的一套DirectUI/Immediate UI框架,在这个框架上可以用和js语法一样的qml语言开发界面。
2024-12-25 14:50:45
399
原创 在Qt中添加右键菜单
如果想要在某一窗口中显示右键菜单,其处理方式大体上有两种,分别是基于鼠标事件实现和基于窗口菜单策略实现。其中第二种方式中又有三中国不同的实现方式,因此如果想要在窗口中显示一个右键菜单一共四种实现方式。
2024-12-25 11:35:55
1025
原创 QT窗口布局
Qt窗口布局指的是将多个子窗口按照某种排列方式将其全部展示到对应的父窗口中的一种处理方式。在Qt中常用的布局样式有三种,分别是:水平布局垂直布局网格(栅格)布局。
2024-12-25 10:39:28
1100
原创 Socket通信(进程间通信)
端口的作用是定位到主机上的某一个进程,通过这个端口,进程就可以接受到对应的网络数据了。端口也是一个整数,unsigned short类型,16位整型数,有效的端口取值范围是:0~65535(0~2¹⁶-1)1.并不是计算机中所有的进程都需要关联一个端口,而是只要这个进程不需要进行网络通信,那么就不需要绑定端口;也可以使用一个字符串描述这个IP地址,如:2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b。使用一个32位整型数描述一个IP地址,4个字节,int类型。
2024-12-22 10:28:02
553
原创 github基本操作
按照提示选择GitHub.com,并选择SSH或HTTPS进行身份验证。将上述命令输出的内容复制到下图位置(和下图略有不同,因为我的是已经添加过密钥的)
2024-12-19 22:38:08
418
原创 nfs挂载
下载之前可运行sudo dpkg -l | grep nfs命令查看是否已经安装过nfs。设置开机自启动: sudo systemctl enable nfs-server。启动nfs服务: sudo systemctl start nfs-server。四、服务端配置nfs服务守护进程,防止偶发的nfs服务启动失败的bug。打开nfs配置文件: sudo nano /etc/exports。打开nfs配置文件: sudo nano /etc/fstab。拷贝至:/etc/systemd/system/
2024-12-19 19:14:08
243
原创 linux实用命令(持续更新)
3.git push -u origin main 这样push一次之后,远程仓库和同步的分支名就是默认的了,下次就可以直接使用git push不带参数的将代码推导main分支了。1. 查看cesi服务最近五分钟运行日志: journalctl -u cesi.service --since "5 minutes ago"6.使用命令行操作github。
2024-12-19 19:02:08
138
原创 linux下github流畅访问
也可以将上述命令写成shell文件,使用gnome-session-properties设置开机自启动,这样开机时便会自动打开浏览器,且支持快速访问github,如下图。
2024-12-19 18:55:22
221
原创 nfs配置完客户端挂载后,执行sudo mount -a时报错:Mount failed with mount: mount.nfs: access denied by server while mo
权限问题,将客户端的/etc/fstab文件中挂载参数修改成如下即可:(增加了no_root_squash,insecure)
2024-12-19 18:33:03
136
原创 解决ubuntu系统下edge浏览器登录不了账号或者不能同步设置
当edge浏览器登录不了或者不能同步设置的时候,按照下图打开网络设置,关闭网络代理就可以了。
2024-12-19 18:24:33
232
原创 Ubuntu系统镜像打包并制作启动盘
在这个链接下载cdrtools-3.02a07.tar.bz2文件,然后右键解压进入内层cdrtools-3.02目录。
2024-12-10 10:59:34
346
再生龙备份还原系统教程(ubuntu)
2024-12-19
自学编程,大家觉得怎样高效学习?
2021-09-14
数据结构和算法可以自学吗?
2021-09-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人