自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++方向就业

操作系统:Windows NT内核C++代码占比达68%(微软技术白皮书)量子计算:IBM Qiskit Runtime底层C++加速模块。蒙特卡洛模拟的SIMD优化(Intel Vtune性能分析案例)案例:Facebook Folly库中的高性能数据结构。MIT 6.828课程实验项目:实现操作系统内存管理。案例:Linux内核中Page Fault处理流程。自动驾驶:Waymo C++感知系统延迟优化方案。:从修复Chromium文档到优化V8引擎。数据库系统:MySQL存储引擎源码解析(

2025-03-28 17:43:03 2860 85

原创 C/C++错误信息

C/C++ 提供了一系列强大的错误处理机制,包括全局变量errno和函数perror()strerror()等来输出和捕获错误信息。通过合理地使用这些函数,可以有效地捕获并报告程序中的错误,帮助开发人员在调试和生产环境中定位问题。

2025-03-21 14:19:15 1846 88

原创 序列化和反序列化(Linux)

write和read实质是拷贝函数。

2025-03-11 08:40:30 2598 113

原创 C++发展

C++ 是由于 1979 年在贝尔实验室(Bell Labs)开始开发的,最初是作为 C 语言的一个扩展,目的是在不丧失 C 语言高效性的基础上,提供面向对象编程的特性。C++ 的早期发展1979-1985C++ 标准化过程1985-1998C++ 标准演化2003-2011C++112011年C++142014年C++172017年C++202020年C++232023年。

2025-03-04 08:51:09 2542 112

原创 C++ ⾼性能内存池

小知识点补充项⽬介绍1.这个项⽬做的是什么?当前项⽬是实现⼀个⾼并发的内存池,他的原型是google的⼀个开源项⽬tcmalloc,tcmalloc全称 Thread-Caching Malloc,即线程缓存的malloc,实现了⾼效的多线程内存管理,⽤于替代系统的内存分配相关的函数(malloc、free)。2.用到的知识这个项⽬会⽤到C/C++、数据结构(链表、哈希桶)、操作系统内存管理、单例模式、多线程、互斥锁等等⽅⾯的知识。小知识点补充。

2025-02-26 12:41:09 2551 76

原创 如何将文件中的一部分段落整体删除

将这段代码转换为适用于 Windows 系统的版本,主要需要调整文件路径的格式。在 Windows 系统中,路径通常使用反斜杠(代码逻辑未做改动,因为文件操作和字符串处理在 Windows 和 Linux 系统中是相同的。此外,由于反斜杠在 C++ 中是转义字符,因此需要使用双反斜杠(确保输入文件路径和输出文件路径是正确的,并且程序有权限访问这些路径。如果文件路径较长或包含特殊字符,建议使用原始字符串字面量(),而不是 Linux 系统中的正斜杠(将文件路径中的正斜杠()来表示路径分隔符。

2025-02-25 14:21:49 1205 4

原创 HTTP

HTTP

2025-02-23 13:15:06 1764 87

原创 DeepSeek+Kimi生成高质量PPT

2025年2月起,Kimi已支持离线生成模式(需下载1.2GB本地引擎),在服务器高峰期建议启用此功能。最新测试显示,专业用户可在7分32秒内完成50页行业分析报告制作,较传统方式效率提升23倍。患病人群} C -->|健康| D[ACSM标准:150分钟/周中强度] C -->|患病| E[医学监督下阶梯式增量]mmermaid graph TD A[健康评估] --> B[目标设定] B --> C{健康人群。每页需标注数据来源与可视化建议。首页包含主标题与3个核心论点。插入3个动态折线图槽位。

2025-02-23 13:08:28 28174 75

原创 解决DeepSeek服务器繁忙问题

建议优先尝试本地部署+加速器组合方案,若需持续稳定使用可考虑订阅企业版($20/月享专属服务器通道)。当前问题预计在2025年3月算力扩容完成后显著缓解。根据2月13日最新分析,DeepSeek日活已突破4000万(达ChatGPT的74.3%),但自建数据中心算力不足导致频繁卡顿。避开工作日早晚高峰(10:00-12:00, 19:00-22:00),建议在凌晨1:00-6:00使用。推荐使用迅游加速器或海豚加速器优化网络路径,缓解因网络拥堵导致的连接问题。

2025-02-14 18:13:14 23019 119

原创 udp和tcp的区别

TCP是面向连接的、可靠的协议,适合需要数据完整性和顺序的应用。UDP是无连接的、不可靠的协议,适合实时性要求高但能容忍丢包的应用。

2025-02-02 10:35:43 4485 115

原创 TCP协议(网络)

主机A发送数据给B之后, 可能因为网络拥堵等原因, 数据无法到达主机B;如果主机A在一个特定时间间隔内没有收到B发来的确认应答, 就会进行重发;但是, 主机A未收到B发来的确认应答, 也可能是因为ACK丢失了;因此主机B会收到很多重复数据. 那么TCP协议需要能够识别出那些包是重复的包, 并且把重复的丢弃掉. 去重的效果. 这时候我们可以利用前面提到的序列号那么, 如果超时的时间如何确定?最理想的情况下, 找到一个最小的时间, 保证 "确认应答一定能在这个时间内返回".

2025-01-25 12:14:55 9202 120

原创 高级IO(epoll)(ET)

epoll工作方式你妈喊你吃饭的例子你正在吃鸡, 眼看进入了决赛圈, 你妈饭做好了, 喊你吃饭的时候有两种方式: 1. 如果你妈喊你一次, 你没动, 那么你妈会继续喊你第二次, 第三次...(亲妈, 水平触发) 2. 如果你妈喊你一次, 你没动, 你妈就不管你了(后妈, 边缘触发)epoll有2种工作方式-水平触发(LT)和边缘触发(ET)假如有这样一个例子:我们已经把一个tcp socket添加到epoll描述符这个时候socket的另一端被写入了2KB的数据。

2025-01-06 12:45:59 2966 140

原创 IP协议(网络)

主域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称.域名使用 . 连接com: 一级域名. 表示这是一个企业域名. 同级的还有 "net"(网络提供商), "org"(非盈利组织) 等.baidu: 二级域名, 公司名.www: 只是一种习惯用法. 之前人们在使用域名时, 往往命名成类似于ftp.xxx.xxx/www.xxx.xxx这样的格式, 来表示主机支持的协议.数据链路层的作用: 两个设备(同一种数据链路节点)之间进行传递数据以太网是一种技术标准;

2024-12-27 12:38:27 4303 150

原创 HTTP

HTTP

2024-12-24 17:34:48 5309 121

原创 网络(TCP)

SIGHUP: 通常用于通知终端连接断开,守护进程会忽略它。SIGINT: 用户通过 Ctrl+C 发送的中断信号,守护进程会忽略它。SIGTERM: 请求进程终止,守护进程有时会忽略它,或者捕获后进行清理操作。SIGQUIT: 用户通过 Ctrl+\ 发送的信号,守护进程会忽略它。SIGCHLD: 子进程退出时发送的信号,守护进程可能会忽略它。SIGPIPE: 管道或套接字关闭时发送的信号,守护进程会忽略它,避免进程被意外终止。

2024-12-19 20:15:16 6718 129

原创 Gitee图形界面上传(详细步骤)

弹出这个界面,红框内是添加备注,再点击commit。把自己要上传的文件放进去,这里假设上传这个软件。并进入这个文件夹,点击GIt Clone。这样就上传成功了,点击close就可以了。查看自己的仓库链接,点击一下复制。先创建一个自己想放入的文件夹。文件夹里就有了这个文件夹。可以设置私有还是公开。把自己仓库的连接填进去。Success就成功了。右键点击,显示更多选项。点击仓库名,点击克隆。

2024-12-08 11:35:32 1688 38

原创 C/C++链接数据库(MySQL)(超级详细)

要使用库,必须先进行初始化!常用接口 mysqld是一套网络服务那么就注定了我们在进行mysql操作之前,一定是要能链接上mysql,所以要在之前创建一些基础的mysql数据结构。

2024-12-02 19:41:42 3680 124

原创 守护进程

SIGHUP: 通常用于通知终端连接断开,守护进程会忽略它。SIGINT: 用户通过 Ctrl+C 发送的中断信号,守护进程会忽略它。SIGTERM: 请求进程终止,守护进程有时会忽略它,或者捕获后进行清理操作。SIGQUIT: 用户通过 Ctrl+\ 发送的信号,守护进程会忽略它。SIGCHLD: 子进程退出时发送的信号,守护进程可能会忽略它。SIGPIPE: 管道或套接字关闭时发送的信号,守护进程会忽略它,避免进程被意外终止。

2024-11-27 13:59:35 1695 124

原创 C/C++中的回调用法

解耦代码:回调函数将具体的实现和调用逻辑分离,使得不同模块可以独立开发。提高灵活性:回调允许你在运行时根据需求决定函数的行为,适用于各种不同的应用场景。支持异步编程:回调广泛应用于异步编程中,通过回调来处理异步任务的结果。框架和库设计:许多 C++ 框架使用回调机制,让用户可以传递自定义行为,增强框架的灵活性和可扩展性。避免重复代码:回调使得通用的操作可以复用,减少代码重复。多态行为:回调使得函数可以动态地决定执行不同的操作,实现类似多态的效果。

2024-11-25 19:45:23 3203 75

原创 用户管理(MySQL)

如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。MySQL中的用户,都存储在系统数据库mysql的user表中。-- 回收woaini对jj数据库的所有权限。刚创建的用户没有任何权限。案例: --使用root账号。

2024-11-25 19:43:21 3906 52

原创 图形化界面MySQL(MySQL)(超级详细)

ctrl s后可以保存到桌面,再用bench打开。只执行show tables;

2024-11-24 12:52:03 16591 72

原创 Linux在Ubuntu系统下安装MySQL数据库(全网最详细)

安装完成后,将会在服务器上安装MySQL服务、客⼾端⼯具和其他公共组件。输入密码后就进入了(没有密码的直接回车就可以进入 )以我自己的为例(自行输入密码)点击下移动键到ok回车。拖进去后会出现这个界面。

2024-11-24 12:49:32 5749 89

原创 在Windows上安装MySQL数据库(全网最详细)

windows版本点击下载。

2024-11-23 09:18:57 12790 21

原创 表的增删改查(MySQL)

CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)语法:案例:1.1.1 单行数据 + 全列插入1.1.2 多行数据 + 指定列插入1.1.3 插入否则更新由于 主键 或者 唯一键 对应的值已经存在而导致插入失败可以选择性的进行同步更新操作语法:1.1.4 替换1.2 Retrieve语法:案例:1.2.1 SELECT 列1.2.1.1 全 列 查 询1.2

2024-11-22 12:37:08 4539 96

原创 表的操作(MySQL)

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型, 表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。备注:创建一个engine是innodb的数据库,观察存储目录。注意:删除字段一定要小心,删除字段及其对应的列数据都没了。

2024-11-22 12:36:55 495 5

原创 表的约束(MySQL)

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,auto_increment,unique key。

2024-11-22 12:36:29 2905 60

原创 索引(MySQL)

正式因为有序,在查找的时候,从头到后都是有效查找,没有任何一个查找是浪费的,而且,如果运气好,是 可以提前结束查找过程的。磁盘是计算机中的一个机 械设备,相比于计算机其他电子元件,磁盘效率是比较低的,在加上IO本身的特征,可以知道,如何提交效率,是 MySQL 的一个重要话题。所以,最基本的,找到一个文件的全部,本质,就是在磁盘找到所有保存文件的扇区。在单表数据不断被插入的情况下, MySQL 会在容量不足的时候,自动开辟新的Page来保存新的数据,然 后通过指针的方式,将所有的Page组织起来。

2024-11-22 12:36:02 3534 61

原创 库的操作(MySQL)

mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径示例:将mytest库备份到文件(退出连接)这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句 都装载这个文件中。

2024-11-20 16:52:21 4856 84

原创 (udp)网络编程套接字Linux(整理)

htons()和 **htonl()**:用于将主机字节序转换为网络字节序(适用于 16 位和 32 位数据)。ntohs()和 **ntohl()**:用于将网络字节序转换为主机字节序。这些转换函数在进行网络编程时非常重要,可以确保不同平台和字节序的主机之间进行正确的数据传输和处理。

2024-11-20 16:43:41 4960 59

原创 数据库基础(MySQL)

存储数据用文件就可以了,为什么还要弄个数据库?为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。

2024-11-20 16:25:45 3995 48

原创 Linux线程(整理)

在 C 语言的多线程编程中,线程可以创建为守护线程(daemon thread)或非守护线程。守护线程在创建后不会阻塞其父线程的终止,而非守护线程则会在其终止时阻塞父线程的终止。函数允许父线程等待其子线程结束。这意味着,直到子线程完成执行,父线程才会继续执行。以下是如何使用创建一个线程函数,该函数将在新线程中执行。// 执行线程任务C++11 引入的线程库简化了多线程编程,使得创建和管理线程变得更加容易。使用用类可以轻松地创建线程,并通过互斥锁、条件变量等机制来同步线程。

2024-11-19 13:15:18 1713 94

原创 C++学习顺序

C++是一种支持面向对象、泛型编程和多重编程范式的强大语言。GCC:GNU编译器集合,广泛应用于Linux。:Microsoft开发的强大IDE,适用于Windows。CLion:JetBrains开发的跨平台IDE,支持CMake构建系统。C++是一门功能强大的语言,掌握C++的编程技能需要不断的实践和学习。从基础语法到面向对象编程,再到STL的应用,最后到高级特性如智能指针和多线程编程,每个部分都在C++的学习过程中占有重要位置。

2024-11-18 18:21:45 1753 22

原创 特殊类设计

比如在某个服务器程序中,该服务器的配置 信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再 通过这个单例对象获取这些配置信息,这种方式简化了在复杂环境下的配置管理。如果单例对象构造十分耗时或者占用很多资源,比如加载插件啊, 初始化网络连接啊,读取 文件啊等等,而有可能该对象程序运行时不会用到,那么也要在程序一开始就进行初始化, 就会导致程序启动时非常的缓慢。假设有A B两个单例类,要求A先创建,B再创建,B的初始化创建依赖A,就没法用饿汉了,然后就有了下面的懒汉。

2024-11-17 09:51:44 1116 21

原创 智能指针

什么是内存泄漏:内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内 存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对 该段内存的控制,因而造成了内存的浪费。内存泄漏的危害:长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现 内存泄漏会导致响应越来越慢,最终卡死。// 1.内存申请了忘记释放// 2.异常安全问题Func();// 这里Func函数抛异常导致 delete[] p3未执行,p3没被释放.

2024-11-17 09:49:43 948 10

原创 进程信号

每个信号都有一个编号和一个宏定义名称,这些宏定义可以在signal.h中找到,例如其中有定 义 #define SIGINT 2编号34以上的是实时信号,本章只讨论编号34以下的信号,不讨论实时信号。这些信号各自在什么条件下 产生,默认的处理动作是什么,在signal(7)中都有详细说明: man 7 signal上面所说的所有信号产生,最终都要有OS来进行执行,为什么?OS是进程的管理者信号的处理是否是立即处理的?在合适的时候信号如果不是被立即处理,那么信号是否需要暂时被进程记录下来?

2024-11-16 12:03:57 1580 132

原创 红黑树

/枚举//节点颜色RED,BLACK//红黑树节点的定义, _kv(kv){}插入的代码实现检测新节点插入后,红黑树的性质是否造到破坏因为新节点的默认颜色是红色,因此:如果其双亲节点的颜色是黑色,没有违反红黑树任何性质,则不需要调整;但当新插入节点的双亲节点颜色为红色时,就违反了性质三不能有连 在一起的红色节点,此时需要对红黑树分情况来讨论:约定:cur为当前节点,p为父节点,g为祖父节点,u为叔叔节点。

2024-11-15 09:46:28 1148 43

原创 获取时间

使用和进行自定义格式化。// 转换为当地时间// 自定义格式输出(例如 YYYY-MM-DD HH:MM:SS)在C++中,和是获取和处理时间的主要工具。更为现代和灵活,适合需要精确测量时间的场景。可以根据具体需求选择合适的方法来获取和处理时间。

2024-11-15 09:40:03 812 73

原创 网络基础Linux

计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表示 0 和 1 这样的信息. 要想传递各种不同的信 息, 就需要约定好双方的数据格式.所谓 "局域网" 和 "广域网" 只是一个相对的概念. 比如, 我们有 "天朝特色" 的广域网, 也可以看做一个比较大的局域 网.IP协议有两个版本, IPv4和IPv6. 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.

2024-11-15 08:27:35 1889 35

原创 随机数

***:简单、快速,但质量较低。适用于简单的需求。库:推荐使用现代的库,它提供了更高质量的随机数,并支持多种分布。分布选择:根据需求选择合适的分布类型(均匀分布、正态分布等)。随机字符与字符串:通过生成字符的 ASCII 值来生成随机字符或字符串。****:用于打乱容器元素顺序,常用于生成随机排列。通过,C++ 允许开发者根据需求灵活选择随机数生成方式,不仅提供了更高质量的随机数生成,还能更精细地控制生成数值的范围和分布。

2024-11-15 08:24:32 1889 120

原创 内存大小的单位转换

这些单位在操作系统、硬盘、内存等硬件设备的容量表示中经常使用。

2024-11-13 19:41:18 2050 18

空空如也

空空如也

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

TA关注的人

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