c/c++

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