c语言

caimouse35 分钟前
c语言·windows·架构
Reactos 第 4 章 对象管理 — 4.5 几个常用的内核函数本节是第 4 章的"工具箱"——把对象管理器中最常用的 7 个函数逐一拆解。每个函数都是阅读 ReactOS 源码时频繁遇到的关键 API:句柄转换(ObReferenceObjectByHandle / ObReferenceObjectByPointer)、名称查找(ObpLookupEntryDirectory / ObpLookupObjectName)、对象打开(ObOpenObjectByName / ObReferenceObjectByName)、引用释放(ObDereferenceObj
x138702859571 小时前
c语言·算法·游戏
c语言排雷游戏(基础版9*9)#pragma once #include<stdio.h> #include<stdlib.h> #include<time.h> //定义常量的符号 #define ROW 9 #define COL 9 #define ROWS ROW+2 #define COLS COL+2 #define EASY_COUNT 10//简单版本为10个雷
caimouse1 小时前
c语言·windows·架构
Reactos 第 4 章 对象管理 — 4.3 句柄和句柄表(Handle & Handle Table)以下 ASCII 图展示了 Windows/ReactOS 句柄体系的核心结构:从用户态 HANDLE 值的组成,到内核中三级页表式结构,再到一次完整的「打开 → 返回句柄 → 用户态使用 → 内核还原为对象指针」流程。
Selina K2 小时前
c语言·开发语言
C中日历时间转换
caimouse3 小时前
c语言·开发语言·windows·架构
Reactos 第 3 章 内存管理 — 【中篇】Hyperspace、系统空间、API 与异常[上篇](file:///d:/reactos/doc/第3章_内存管理_上.md) 讲述了 ReactOS 内存管理器的骨架——VAD 树(用户态虚拟地址空间的使用清单)、PFN Database(物理页的状态账本)、PTE 数组(虚拟→物理的硬件映射)。本篇要讨论的是肌肉:当内核需要"零时访问一块物理页"时怎么办(Hyperspace 临时映射);当内核需要"申请一组 PTE 槽位做一次性映射"时怎么办(系统空间映射);当用户调用 VirtualAlloc 时从用户态到内核态经历了什么(NtAlloc
ysu_03143 小时前
c语言·数据结构·学习·算法·leetcode
leetcode数据结构与算法1~4语言的尽头是算法。学完了 C 语言的语法,只能停留在“能写出代码”的阶段,遇到稍微复杂点的数据处理就无从下手,或是只能一味的for暴力。
caimouse4 小时前
服务器·c语言·开发语言·windows·架构
Reactos 第 4 章 对象管理 — 4.1 对象与对象目录下图展示了从用户态创建一个内核对象(以事件对象 Event 为例)到最终返回句柄的完整流程。整个流程横跨用户态、系统调用层、对象管理器与内核内存池四个层次:
玖玥拾4 小时前
c语言·c++·文件操作·枚举·联合
C/C++ 基础笔记(九)联合、枚举及文件操作本篇核心知识:联合(union)、枚举(enum)、文件操作(FILE、读写)联合是复合数据类型,多个成员共享同一块内存,同一时间只能用一个成员。
小糯米6014 小时前
c语言·开发语言
C语言 动态内存管理1、为什么要有动态内存分配2、malloc和free3、calloc和realloc4、常见的动态内存的错误
小糯米6015 小时前
java·c语言·开发语言
C语言 自定义类型:联合和枚举1、联合体类型的声明2、联合体的特点3、联合体大小的计算4、枚举类型的声明5、枚举类型的优点6、枚举类型的使用
小七在进步10 小时前
c语言·数据结构·算法
数据结构:线性表之顺序表线性表(linear list)是相同类型的n个数据元素的有限序列,并用L命名为线性表,表示为:L={a1,a2,a3,……,an}。 ai是线性表中第i个数据元素,称i为数据元素ai在线性表中的位序(从1开始)。
caimouse10 小时前
c语言·windows·架构
Reactos 第 4 章 对象管理 — 4.2 对象类型(Object Type)说明:对象类型本身也是一种对象,所有类型对象的类型为 ObpTypeObjectType,构成一个「类型自举」结构。 类型在系统初始化阶段通过 ObCreateObjectType 注册,并通过 TypeList 链表挂在 ObpTypeObjectType 上进行遍历与查询。用户态通过 NtQueryObject(ObjectTypesInformation) 可以枚举全部类型。
广州山泉婚姻11 小时前
c语言
C 语言循环结构实现思路C 语言有while、do-while、for 三种循环,核心思路一致,仅执行顺序、语法不同。一、通用核心思路(所有循环都遵循)
LuminousCPP11 小时前
c语言·经验分享·笔记·预处理·编译链接
C 语言系列终章|编译与链接 + 预处理这可能是我的 C 语言系列最后一篇博客了,当然后面也可能继续补充。从最开始的 Hello World,到指针、结构体,不知不觉已经把 C 语言基础全部学完了。
十月的皮皮11 小时前
c语言·笔记·学习
C语言学习笔记20260607-判断一个数是否为2的n次方(三种方法)输入一个正整数,判断该数是否为 2 的整数次方。如果是:输出 数值 = 2^次方数如果不是:输出该数不是2的整数次幂
caimouse11 小时前
c语言·开发语言·windows·架构
Reactos 第 3 章 内存管理 — 【下篇】换出、Section、池[上篇](file:///d:/reactos/doc/第3章_内存管理_上.md) 讲述了虚拟内存的骨架(VAD、PFN、PTE);[中篇](file:///d:/reactos/doc/第3章_内存管理_中.md) 讲述了虚拟内存的肌肉(Hyperspace、系统空间、NtAllocateVirtualMemory、缺页异常)。本篇要讨论的是工程实现——当物理内存耗尽时,操作系统怎么把"不活跃"的页换出到磁盘;Windows 内存模型中"文件 → 内存"映射的 Section 对象怎么工作;以及内核态
San813_LDD11 小时前
c语言·数据结构
[量化]《多线程数据同步精讲:std::mutex 的底层原理与最佳实践》# 多线程数据同步精讲:std::mutex 的底层原理与最佳实践> 多线程编程中,数据竞争和内存可见性问题常常导致难以复现的 bug。本文从基础概念入手,深入分析 `std::mutex` 的底层实现(futex、内存屏障),并给出避免死锁、控制锁粒度等实用技巧,帮助你写出正确且高效的多线程代码。适用于 C++11 及以上标准,示例在 Linux(gcc)和 Windows(MSVC)下均可编译运行。
secret_to_me11 小时前
linux·c语言·c++·ubuntu·电脑·buildroot
buildRoot编译rootfs实战很多嵌入式linux都是使用交叉编译编译的系统和rootfs。没有包管理,没有网络管理,很多软件都没有,对于一些依赖简单的软件,可以直接使用交叉编译器编译后移动到系统就可以直接运行了。但对于一些依赖关系复杂的软件,要想安装到已经生成的文件系统中简直是困难重重。如果想要自己一个一个编译几乎不可能,要不就手动修改代码,将其中没有必要的依赖手动删除。还有一个方法就是用buildroot来处理这此依赖软件的编译,但buildroot由于国内环境原因,使用上也是困难重重,因此记录一下buildroot实际编译cup
FFZero112 小时前
c语言·音视频·lua·多媒体
[mpv脚本系统] (四) 脚本加载与事件循环系统想象一下:你在 mpv 里写了一个 Lua 脚本,只需要 mp.register_event("start-file", fn),播放新文件时 fn 就自动被调用。你不知道是谁在监听事件、不知道回调是怎么被调度的、甚至不需要写主循环——但它就是能工作。
草莓熊Lotso12 小时前
linux·运维·服务器·c语言·网络·c++·udp
【Linux网络】深入理解传输层 UDP 协议:从底层原理到实战应用🎬 博主简介:传输层是 TCP/IP 协议栈的核心枢纽,承担着端到端数据传输的关键职责,解决了 “数据从哪个应用来,到哪个应用去” 的根本问题。在传输层两大核心协议中,TCP 以其复杂的可靠传输机制闻名,而 UDP 则以极致的简单性和高效性独树一帜。很多开发者认为 UDP"简单到没什么可学的",但正是这种简单性赋予了它极高的灵活性 ——DNS、DHCP、视频直播、游戏联机等场景都离不开 UDP 的支撑。本文将从端口号基础开始,深入解析 UDP 的协议格式、内核封装过程、核心特性与缓冲区机制,结合 Lin