c/c++

小白同学_C1 天前
linux·c/c++·操作系统os
Lab2-system calls && MIT6.1810操作系统工程【持续更新】在这个lab当中6.1810 / Fall 2025 它要求你在xv6当中添加一个新的系统调用,以此来帮助你理解在操作系统当中,系统调用的底层实现逻辑和调用链条;
_OP_CHEN1 天前
linux·后端·操作系统·c/c++·重定向·文件描述符·linux文件
【Linux系统编程】(二十)揭秘 Linux 文件描述符:从底层原理到实战应用,一篇吃透 fd 本质!编辑前言一、文件描述符是什么?不止是一个小整数1.1 内核中的文件管理模型1.2 内核源码验证:关键结构体的关联
_OP_CHEN3 天前
linux·运维·操作系统·系统文件·系统调用·c/c++·文件i/o
【Linux系统编程】(十九)深入 Linux 文件与文件 IO:从底层原理到实战操作,一文吃透!在 Linux 中,“文件” 是一个贯穿始终的核心概念,而文件 IO(输入 / 输出)则是程序员与系统交互的基础手段。无论是日常的文件读写、设备操作,还是复杂的网络通信、进程间通信,背后都离不开文件与文件 IO 的支撑。
十年编程老舅4 天前
程序员·编程·c/c++
虾皮C++一面:C++四种类型转换详解在 C++ 编程中,类型转换是连接不同数据类型的桥梁,但不当的转换可能引入隐蔽的 Bug。C 语言的 “(类型) 表达式” 风格转换虽简洁,但存在几个严重问题:
小白同学_C7 天前
linux·c/c++·操作系统os
Lab1-Xv6 and Unix utilities 配置环境的搭建以及前言 && MIT6.1810操作系统工程【持续更新】在这个,也是第一个Lab当中6.1810 / Fall 2025,它会要求你通过git拉取最基本的内核代码,然后cd到内核代码目录当中,通过指定的指令(下面会介绍)即可构建起xv6操作系统。
程序员老舅1 个月前
linux·c++·stl·c/c++·数据结构与算法
C++ STL 算法:从原理到工程实践在C++的生态系统中,STL(Standard Template Library)算法是核心竞争力之一,它不仅仅是一组函数,更是C++标准委员会经过数十年验证的性能最优解。当我们谈论STL算法时,我们谈论的不仅是效率,更是可维护性与标准化的三位一体。
huangyuchi.1 个月前
linux·服务器·网络·网络协议·http·c/c++
【Linux 网络】理解并应用应用层协议:HTTP(附简单HTTP服务器C++代码)前言:上文我们学习到了什么是守护进程以及其原理【Linux网络】深入理解守护进程(Daemon)及其实现原理-CSDN博客
huangyuchi.1 个月前
linux·运维·服务器·c/c++·守护进程·会话·进程组
【Linux网络】深入理解守护进程(Daemon)及其实现原理前言:上文我们讲到了,如何通过定制协议来制作网络版本的计算器【Linux 网络】基于TCP的Socket编程:通过协议定制,实现网络计算器-CSDN博客
好评1242 个月前
开发语言·c++·内存管理·c/c++
C/C++ 内存管理:摆脱野指针和内存泄漏内存问题是 C/C++ 程序员的“职业噩梦”:写着写着就崩,调半天才发现是少了一行 delete;改个数组大小,realloc 用错又炸了;看到 placement new 直接跳过。其实,大部分坑都来自同一个根源——你没真正搞清“谁在什么地方,谁负责回收”。这篇文章就是一步步把这件事讲透,从内存布局到动态分配,再到 C++ 特有的内存机制,帮你把脑子里的那张“内存地图”补完整。
阿捏利2 个月前
c/c++·linux编程·elf文件
详解ELF文件(三)程序头表程序头表(Program Header Table)是ELF文件中描述段(segments)如何映射到内存中的关键结构。它在程序加载和执行过程中起着至关重要的作用。
吃西瓜的星星2 个月前
activemq·openssl·c/c++
从0开始完成ActiveMQ-cpp在windows_x86平台的编译(从编译openssl开始)由于需要将一个项目从linux迁移到windows系统,在互联网没有找到【免费】且【免登录】的x64资源,openssl也已经找不到1.1.1w版本的下载资源了,所以我搭建了虚拟机环境,从编译openssl开始完成activemq的项目编译。
_OP_CHEN2 个月前
linux·运维·c/c++·linux开发工具·调试器·gdb/cgdb
【Linux系统编程】(十)从入门到精通!Linux 调试器 gdb/cgdb 超全使用指南,程序员必备调试神器前言一、gdb 调试基础:从环境准备到核心概念1.1 为什么需要 gdb 调试?1.2 gdb 调试的前提:编译调试版本
橘颂TA2 个月前
算法·c/c++·结构与算法
【剑斩OFFER】算法的暴力美学——判定字符是否唯一我们可以用位图的思想来解决这道题:找一个32位比特位的数字,这32个比特位用来表示字符是否存在,例如:000000.....0000 假设有个字符 a,如果位图的第 a - a 个位置,也就是第 0 个位置是否为 0 ,如果是0,就把这个位置改成1,表示 a 这个字符是存在的,假设再出现出现一个字 a ,我们也还是判断第 a - ’a' 这个位置是否为0,此时是不为0,所以我们返回 false ,因为字符重复了。
橘颂TA2 个月前
算法·c/c++·结构与算法
【剑斩OFFER】算法的暴力美学——矩阵区域和我们一看题目就知道使用二维数组的前缀和来解决这道题目。所谓二维数组的前缀和就是某个二维数组某个区域的和:https://blog.csdn.net/2403_84958571/article/details/154848877?spm=1011.2415.3001.10575&sharefrom=mp_manage_link
橘颂TA2 个月前
算法·c/c++·结构与算法
【剑斩OFFER】算法的暴力美学——二维前缀和一般来说我们遍历数组来进行求和,但是这种时间复杂度太高了:假设我们查找q次区域内和,最差的情况下我们要遍历完整个数组,所以我们的时间复杂度为:O(q * n * n);
橘颂TA2 个月前
数据结构·算法·力扣·c/c++
【剑斩OFFER】算法的暴力美学——寻找峰值这道题和山脉数组的蜂顶索引的解法几乎一样,只不过除了left 和 right 的取值不同罢了,因为在这道题目中有些特殊的例子如【 2,1】 返回0,一般来说有峰顶的数组的数字至少要三,所以这里我们可以把这到题目看成是求这个数组里面的最大值,有因为假设有两个峰顶,当我们的中间落在峰顶的旁边时,我们只要求这个峰顶就行,因为题目说只要求其中一个就行不是吗?
橘颂TA2 个月前
算法·leetcode·职场和发展·c/c++
【剑斩OFFER】算法的暴力美学——山脉数组的蜂顶索引首先我们我们观察一下数组里面的数字的排列的规律:在没遇到蜂顶元素时,前面的数据的是依次变大的,而蜂顶的元素后面的数字是依次递减的,我们可以把蜂顶的元素归于这其中的一类,故而如上图一样。
橘颂TA2 个月前
数据结构·算法·leetcode·c/c++
【剑斩OFFER】算法的暴力美学——点名当我们看到这道题目时,我们一般是直接从题目给出的数组来找这些数字的规律,题目给出的数字的除了这些数字是逐渐递增的,就没了。所以我们不防从把数组的下标写出来,此时我们可以看到数组的数字和下标相等时,代码没有数字缺少,反之就是缺少一个数字;从数组的下标结合题目给出的数组来看,只要找缺少数字的那小部分的数组的最左边就是缺少的那个数字,当然缺少的不是上面绿色部分的8而是他的下标7。
huangyuchi.2 个月前
linux·网络·udp·网络通信·c/c++·socket编程·简单聊天室
【Linux网络】基于UDP的Socket编程,实现简单聊天室前言:上文我们讲到了,基于UDP的Dict Server的Socket编程。【Linux网络】Socket编程实战,基于UDP协议的Dict Server-CSDN博客