c/c++

_OP_CHEN1 天前
linux·数据库·mysql·c/c++·表约束·mysql表
【MySQL数据库基础】(六)MySQL 表的约束详解:从基础到实战,拿捏数据合法性!在 MySQL 数据库开发中,我们总希望存入表中的数据是合法、规范、符合业务逻辑的。虽然数据类型能对字段做基础限制,但面对复杂的业务需求,仅靠数据类型远远不够。比如要求邮箱唯一、用户名不能为空、学生的班级必须是已存在的班级…… 这些需求都需要靠表的约束来实现。
_OP_CHEN1 天前
linux·运维·服务器·网络·网络协议·计算机网络·c/c++
【Linux网络编程】(二)计算机网络概念进阶:彻底搞懂协议本质、传输流程与封装分用上一篇我们聊了计算机网络的起源与协议的基本概念,知道了网络是为了连接、协议是为了沟通。但这只是入门 ——协议到底在代码里长什么样?数据怎么从一台电脑跑到另一台?封装、分用、MAC、IP、端口到底在干嘛?这篇文章带你进入网络概念进阶,吃透「再识协议」「网络传输基本流程」全部核心,为 Socket 编程打下硬核基础。下面就让我们正式开始吧!
代码AC不AC5 天前
vs code·c/c++·开发环境搭建
在VSCode中搭建C/C++开发环境个人主页:矢望 个人专栏:C++、Linux、C语言、数据结构、Coze-AIVisual Studio Code(简称VS Code)是一款由微软开发的免费、开源、跨平台的代码编辑器,因其启动快速、内存占用低且功能强大而成为全球最受欢迎的开发工具。它通过内置的智能代码补全、语法检查、Git版本控制以及集成终端等核心功能,极大地提升了编写代码的效率;同时,其丰富的插件生态系统允许用户根据需求定制开发环境,支持从Python、JavaScript到C++等几乎所有编程语言。无论是用于编程学习、网页开发、数据
_OP_CHEN6 天前
linux·服务器·网络·网络协议·计算机网络·socket·c/c++
【Linux网络编程】(一)初识计算机网络:从独立主机到协议世界的入门之旅作为一名程序员,不管是做后端开发、嵌入式开发还是前端开发,计算机网络都是绕不开的核心基础。我们每天用浏览器访问网页、用 IM 工具聊天、用服务器部署应用,背后都是计算机网络在默默支撑。从最初的单台独立计算机,到如今互联互通的互联网世界,网络的发展本质上是为了解决设备协同、数据共享的核心问题。这篇文章就从计算机网络的发展背景出发,带大家一步步认识网络的核心 —— 协议,搞懂为什么网络需要协议、协议是如何设计的,为后续深入学习 TCP/IP、Socket 编程打下基础。下面就让我们正式开始吧!
阿捏利6 天前
macos·ios·c/c++·mach-o
详解Mach-O(三十三)Mach-O __mod_term_func节__mod_term_func 是 Mach-O(Mach Object)文件格式中 __DATA 段内的一个重要节(section),全称为"Module Termination Function Pointers"(模块终止函数指针)。它用于存储模块终止函数的指针,在程序退出时被调用。
_OP_CHEN8 天前
linux·操作系统·线程池·进程·策略模式·c/c++·日志系统
【Linux系统编程】(四十五)线程池基础:日志系统设计与策略模式的优雅落地各位 C/C++ 开发者小伙伴们,在实现线程池的过程中,日志系统是不可或缺的一环 —— 它能监控线程池的运行状态、记录任务执行的异常信息、帮助我们快速定位线上问题。而如何让日志系统灵活支持控制台输出、文件持久化甚至后续的网络日志等多种输出方式?策略模式就是解决这个问题的最优解之一。
_OP_CHEN8 天前
linux·操作系统·线程池·进程·线程安全·c/c++·线程锁
【Linux系统编程】(四十七)线程安全与线程锁深度解析:从概念到实战,避坑指南全掌握在多线程编程的世界里,线程安全是永恒的核心话题,而线程锁则是保障线程安全的核心武器。当多个线程并发访问共享资源时,稍不注意就会出现数据竞争、结果错乱甚至程序崩溃的问题;而锁的不当使用又会引发死锁、性能损耗等新问题。除此之外,函数重入、STL 容器和智能指针的线程安全特性,也是多线程开发中极易踩坑的点。
_OP_CHEN8 天前
linux·开发语言·数据库·sql·mysql·数据类型·c/c++
【MySQL数据库基础】(五)MySQL 数据类型深度解析:选对类型 = 性能拉满!在 MySQL 表结构设计中,数据类型的选择是最核心也最容易踩坑的环节。很多开发者随手给字段设为int、varchar(255),看似省事,实则会导致磁盘空间浪费、查询效率低下,甚至出现数据溢出、精度丢失的问题。
_OP_CHEN9 天前
linux·数据库·sql·mysql·c/c++·mysql操作·企业级组件
【MySQL数据库基础】(三)MySQL 库的核心操作全解析:创建、修改、备份一条龙搞定在 MySQL 的学习和实战中,数据库(库)的操作是最基础也是最核心的环节,无论是项目开发、数据管理还是运维维护,都绕不开库的创建、配置、修改、备份等一系列操作。很多刚接触 MySQL 的小伙伴容易在字符集、校验规则、备份恢复这些细节上踩坑,今天这篇文章就结合实战案例,把 MySQL 库的全套操作讲透,从基础语法到高级技巧,从避坑指南到实战演示,让你一文掌握 MySQL 库操作的精髓!
_OP_CHEN9 天前
linux·单例模式·操作系统·线程池·进程·线程安全·c/c++
【Linux系统编程】(四十六)线程池原理与实现:从固定线程池到线程安全单例模式前言一、线程池核心原理:为什么需要线程池?1.1 线程的 “创建 - 销毁” 开销有多高?1.2 线程池的核心思想:“线程复用”
_OP_CHEN22 天前
linux·运维·操作系统·线程·进程·c/c++·线程控制
【Linux系统编程】(四十)线程控制终极指南:从资源共享到实战操控,带你吃透线程全生命周期在 Linux 多线程开发中,“线程控制” 是贯穿始终的核心技能 —— 从线程的创建、终止,到等待、分离,每一步操作都直接影响程序的性能、稳定性和资源利用率。而要熟练掌握线程控制,首先必须理清一个关键问题:进程和线程究竟哪些资源共享、哪些资源独占?这是理解线程控制逻辑的底层基石。
阿捏利23 天前
macos·ios·c/c++·mach-o
详解Mach-O(十五)Mach-O __DATA_CONST__DATA_CONST 是 Mach-O 文件中一个相对较新的段,它用于存储在编译时确定且在运行时不应更改的初始化数据。这个段的引入增强了程序的安全性,通过将只读数据与可读写数据分离,提供了更细粒度的内存保护。
_OP_CHEN25 天前
linux·运维·操作系统·线程·进程·多线程·c/c++
【Linux系统编程】(三十九)吃透线程概念:从底层原理到实战应用前言一、什么是 Linux 线程?打破你的固有认知1.1 线程的内核定义:进程内部的控制序列1.2 线程的本质:进程资源的合理划分
_OP_CHEN25 天前
linux·运维·进程·c/c++·信号·可重入函数·volatile
【Linux系统编程】(三十八)进程信号拓展:可重入函数 /volatile/SIGCHLD 全解析前言一、可重入函数:信号处理的第一大 “坑”1.1 什么是重入?什么是可重入函数?1.1.1 重入的定义
_OP_CHEN1 个月前
linux·运维·操作系统·进程·c/c++·信号·信号捕捉
【Linux系统编程】(三十七)信号捕捉全链路拆解|从内核态切换到 sigaction 实战前言一、信号捕捉的 “门槛” 与核心定义1.1 什么是 “信号捕捉”?1.2 信号捕捉与其他处理方式的区别
_OP_CHEN1 个月前
linux·运维·操作系统·进程·c/c++·信号·信号保存
【Linux系统编程】(三十六)深挖信号保存机制:未决、阻塞与信号集的底层实现全解析在 Linux 进程信号的生命周期中,“信号保存” 是连接 “信号产生” 与 “信号处理” 的关键桥梁。当信号被操作系统产生后,并不会立即递达给进程执行处理动作 —— 进程可能正在执行高优先级任务,也可能主动阻塞了该信号。此时,信号会被 “暂存” 起来,直到满足递达条件。
_OP_CHEN1 个月前
linux·运维·操作系统·进程·c/c++·信号·信号产生
【Linux系统编程】(三十五)揭秘 Linux 信号产生:从终端到内核全解析在 Linux 系统中,信号是进程间异步通信的 “信使”,而 “信号产生” 则是这个通信过程的起点。无论是我们熟悉的Ctrl+C终止进程,还是程序运行中出现的段错误、定时器超时,本质上都是信号被触发产生的过程。很多开发者只知道 “信号能终止进程”,却不清楚信号到底是怎么来的 —— 是用户操作触发的?还是系统自动产生的?不同场景下信号的产生机制有何不同?
_OP_CHEN1 个月前
数据结构·算法·蓝桥杯·线段树·c/c++·分治·acm/icpc
【算法提高篇】(五)线段树 + 分治:解锁区间问题的终极思路,从最大子段和到复杂序列操作前言一、为什么需要 “线段树 + 分治”?二、核心原理:线段树节点该维护哪些分治信息?三、实战入门:最大子段和(洛谷 P4513 小白逛公园)
_OP_CHEN1 个月前
算法·蓝桥杯·线段树·c/c++·区间查询·acm、icpc·区间操作
【算法提高篇】(四)线段树之多个区间操作:懒标记优先级博弈与实战突破前言一、多个区间操作的核心痛点:优先级决定结果二、经典组合 1:区间乘 + 区间加(洛谷 P3373【模板】线段树 2)
_OP_CHEN1 个月前
算法·蓝桥杯·线段树·c/c++·区间查询·acm/icpc·信息维护
【算法提高篇】(三)线段树之维护更多的信息:从基础到进阶的灵活运用前言一、核心思考:维护多类型信息的三大关键二、基础进阶:无修改的多信息维护 —— 区间最小值查询2.1 例题:忠诚(洛谷 P1816)