04 2025 档案

摘要:g++ 是 GCC(GNU Compiler Collection)中的 C++ 编译器。 可以把 .cpp 文件编译成机器能懂的可执行文件(.exe 或无后缀的 UNIX 可执行文件)。 基本写法:g++ main.cpp -o main main.cpp:源代码文件。 -o main:输出文件名 阅读全文
posted @ 2025-04-12 21:47 五冬夜 阅读(15) 评论(0) 推荐(0)
摘要:特性 线程 Race Condition 电路 Hazard / Race 层面 软件(操作系统 & 应用) 硬件(逻辑门 & 线路) 原因 多个线程并发访问共享资源 信号传播延迟 & 多路径 表现 随机 bug、错误数据 输出电平闪变、毛刺 可控性 可以通过加锁/同步避免 需要通过逻辑优化/延迟匹 阅读全文
posted @ 2025-04-11 09:54 五冬夜 阅读(4) 评论(0) 推荐(0)
摘要:模式 说明 各线程独立跑 比如爬虫,每个线程爬一个网站 多线程并发写文件 要锁,控制写入顺序,不然文件变咒语 UI线程 + 后台线程 前台显示,后台跑任务 主线程调度 + 工作线程执行 类似线程池,工人排队干活 生产者-消费者 一边加任务,一边消费任务(加锁必备) 阅读全文
posted @ 2025-04-11 09:40 五冬夜 阅读(2) 评论(0) 推荐(0)
摘要:#include <iostream> #include <fstream> #include <thread> #include <mutex> #include <chrono> std::mutex file_mutex; const std::string filename = "data. 阅读全文
posted @ 2025-04-09 22:37 五冬夜 阅读(5) 评论(0) 推荐(0)
摘要:#include <iostream> #include <thread> #include <mutex> std::mutex cout_mutex; void printNumbers(int id) { for (int i = 0; i < 5; ++i) { std::lock_guar 阅读全文
posted @ 2025-04-09 22:37 五冬夜 阅读(2) 评论(0) 推荐(0)
摘要:方法 1:右键直接粘贴 鼠标在 Git Bash 里 点右键 方法 2:Shift + Insert 阅读全文
posted @ 2025-04-08 12:41 五冬夜 阅读(29) 评论(0) 推荐(0)
摘要:多线程的意义 有CPU密集型任务 有IO密集型操作 想并发处理多个客户端请求 多线程的本质作用: 让程序能同时做多件事(并发),提高执行效率或响应速度。 多线程 = 多个执行单位并行/伪并行工作 加锁 = 在共享数据访问时防止互相干扰 不共享 = 不加锁,快乐做自己 4核8线程 = 真正能并行执行的 阅读全文
posted @ 2025-04-08 11:00 五冬夜 阅读(3) 评论(0) 推荐(0)
摘要:进程(Process)是一个运行着的程序实例,线程(Thread)是它里面的执行单元。 lock_guardstd::mutex 是模板类,自动加锁、自动解锁 在当前作用域里一拿到锁,出了作用域就自动释放 class定义一个“自定义类型” class Dog { public: std::strin 阅读全文
posted @ 2025-04-08 10:27 五冬夜 阅读(5) 评论(0) 推荐(0)
摘要:什么是“管理员模式”?你真的了解它吗? 在 Windows 操作系统中,管理员模式(Administrator Mode)是一种赋予用户更高权限的运行方式,用于执行对系统具有重大影响的操作。 这包括但不限于: 安装或卸载系统级应用程序 修改系统文件或注册表项 配置防火墙、安全策略和服务 删除受保护的 阅读全文
posted @ 2025-04-06 21:42 五冬夜 阅读(11) 评论(0) 推荐(0)
摘要:前缀自增(++v)和后缀自增(v++)对于内置类型几乎没有性能差异,但在处理自定义对象时,差别就明显了。 后缀自增 (v++) 后缀形式需要先保存对象当前的状态,然后对对象执行自增操作,最后返回保存的旧值。这通常需要调用拷贝构造函数来生成一个临时对象,尤其对于自定义对象,这个拷贝过程可能相对耗时。 阅读全文
posted @ 2025-04-06 21:00 五冬夜 阅读(9) 评论(0) 推荐(0)
摘要:正常模式(Normal Mode)快捷键 光标移动: h, j, k, l:分别向左、下、上、右移动一个字符。 w:跳转到下一个单词的开头。 b:跳转到当前或上一个单词的开头。 e:跳转到当前或下一个单词的结尾。 0(数字零):跳转到行首。 ^:跳转到本行第一个非空白字符。 $:跳转到行尾。 gg: 阅读全文
posted @ 2025-04-05 10:19 五冬夜 阅读(92) 评论(0) 推荐(0)
摘要:数据的输入 关键字:cin cin>>变量 ctrl k c全选注释 在 C++ 中,“引用”是一种为已有对象创建别名的机制。简单来说,引用就是给某个变量取了一个“昵称”,通过这个昵称你可以直接操作原来的对象,而不需要拷贝数据。 int x = 10; int &ref = x; // ref 成为 阅读全文
posted @ 2025-04-04 18:00 五冬夜 阅读(12) 评论(1) 推荐(0)
摘要:字符型变量的创建方式 char ch='a'; 单引号 创建字符型变量,单引号 单引号内只能有一个字符 ASCII编码 a-97 A-65 转义字符 endl 实际上等同于输出 \n 并刷新输出缓冲区 cout << "hello world\n" ; 向右的反斜杠 \t水平制表符 cout << 阅读全文
posted @ 2025-04-03 20:07 五冬夜 阅读(2) 评论(0) 推荐(0)
摘要:前提是有序数组,数组中无重复元素 区间定义:左闭右闭,左闭右开,这两种常用 左闭右闭left=0,right=numsize-1(包含) while left<=right 合法left<=right 防止越界:middle=left+(right-left)/2 if middle>target( 阅读全文
posted @ 2025-04-02 22:25 五冬夜 阅读(29) 评论(1) 推荐(0)
摘要:1.代码中应该写#include iostream不是iosteam 2.#deine不对 #define 3.endl不是end1 4.结尾加上return 0; 5.关键字:是c++中预先保留的单词(标识符) 6.标识符不可以是关键字,标识符字母数字下划线;第一个字符必须为字母或下划线;标识符中 阅读全文
posted @ 2025-04-02 21:45 五冬夜 阅读(10) 评论(0) 推荐(0)