c语言

caimouse11 分钟前
c语言·开发语言
ReactOS 图形系统分析(47):GDI 批处理 — gdibatch.c本文分析 ReactOS 内核态 GDI(win32k.sys / ntgdi)中的 GDI 批处理(GDI Batch)刷出机制,核心源码为 [gdibatch.c](file:///d:/reactos/win32ss/gdi/ntgdi/gdibatch.c)(全文 533 行)。该文件实现了把"攒在用户态 TEB 中的一批小 GDI 命令"一次性解析并执行的内核逻辑,同时承担设备驱动同步(DrvSynchronize)的职责。
caimouse5 小时前
c语言·开发语言
ReactOS 窗口系统分析(2):窗口类 — class.c本文是《ReactOS 窗口系统架构分析》“主线一:窗口显示"系列的第 2 册。 第 1 册(ReactOS 窗口系统分析_1.md)分析了窗口创建主路径 window.c;本册深入剖析"窗口类”——窗口创建之前的那一半故事。 所有内容均基于 d:\reactos\win32ss\user\ntuser\class.c(2984 行)的真实源码,函数行号以该文件为准。
caimouse2 小时前
c语言·开发语言·spring
ReactOS 图形系统分析(53):系统库存对象 — stockobj.c本文基于 ReactOS 源码 win32ss/gdi/ntgdi/stockobj.c(351 行,截至 2026 年 8 月) 及关联模块 gdiobj.c、brush.cpp、font.c、freetype.c、main.c、dclife.c、defwnd.c 深入分析。
j7~3 小时前
c语言·函数递归·汉诺塔问题·青蛙跳台阶问题·递归与迭代·n的阶乘
【C语言】《C语言函数递归完全指南:思想、限制、经典例题(阶乘/斐波那契/青蛙跳台阶/汉诺塔)与迭代优化》递归是学习C语⾔函数绕不开的⼀个话题,那什么是递归呢?递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。
YSL0701244 小时前
c语言
动态内存管理我们已经学会了创建内存的方法(就是创建变量)为什么还有动态内存分配内存。我们使用这种方法开辟空间最大的局限就是空间的大小是固定的,不能随时变换,有时候空间大小是在运行的时候才知道的,那我们开辟的空间就不知道是不是满足了,于是C语言就引入了动态内存管理,让程序员可以自己申请空间和释放空间,这样可以更灵活。
BreezeJuvenile4 小时前
c语言·环形缓冲区
基于C语言的SPSC环形缓冲区程序实现本文以"环形跑道放箱子"为比喻,逐行拆解一段经典的嵌入式环形缓冲区(Ring Buffer)代码,讲清楚每一个设计决策背后的工程智慧。
SuperByteMaster5 小时前
c语言
recursive mutex的使用场景和场景代码递归互斥锁:允许一个任务获取多次锁,而不会导致任务挂起。在一个复杂的软件模块中,可能存在多层函数调用,而最内层和最外层的函数都需要访问同一个共享资源(如外设、全局数据结构)。为了防止在调用过程中被其他任务抢占并破坏数据,每一层都可能需要加锁。
caimouse6 小时前
服务器·c语言
ReactOS 窗口系统架构分析ReactOS 的窗口系统位于 win32ss/user/(Win32 子系统 USER 半边),是 win32k.sys 内核模块中与 GDI 平级的另一大组成部分。GDI 负责"画",USER(窗口系统)负责"管"——管理窗口、消息、输入、桌面、菜单、剪贴板等。整个窗口系统被编译为两部分:
caimouse6 小时前
c语言·开发语言
ReactOS 图形系统分析(46):DC 工具 — dcutil.c[dcutil.c](file:///d:/reactos/win32ss/gdi/ntgdi/dcutil.c)(约 963 行)位于 win32ss/gdi/ntgdi/ 目录,是 ntgdi 内核模式 GDI 中 DC(Device Context)工具函数集。它与 dcobjs.c(DC 的创建/销毁/对象选择)分工互补:
BreezeJuvenile6 小时前
c语言·嵌入式
嵌入式C语言常见考察点(2)1、用数组实现一个循环队列,支持入队、出队、判空、判满。例如数组大小固定为8。2、C语言实现冒泡排序,并优化(如果一轮没有交换则提前结束)
caimouse7 小时前
c语言·开发语言·stm32
ReactOS 图形系统分析(50):画笔子系统 — pen.c本文分析 ReactOS Win32 子系统(win32ss)中 ntgdi 的画笔(PEN)子系统,核心源码为 [pen.c](file:///d:/reactos/win32ss/gdi/ntgdi/pen.c)(全文约 516 行)与 [pen.h](file:///d:/reactos/win32ss/gdi/ntgdi/pen.h)。该子系统负责:
caimouse7 小时前
c语言·开发语言
ReactOS 图形系统分析(48):弧线绘制 — arc.c本文档基于 ReactOS 源代码 win32ss/gdi/ntgdi/arc.c(408 行,2026 年 8 月版本)及关联模块逐行分析。 关联文件:win32ss/gdi/ntgdi/path.c(PATH_Arc / PATH_DoArcPart)、win32ss/gdi/ntgdi/drawing.c(IntFillArc / IntDrawArc / app_fill_arc / app_draw_arc)、win32ss/include/ntgdityp.h(ARCTYPE)、win32ss
cypking8 小时前
c语言·开发语言·学习·objective-c
Objective-C 语法完整学习手册(小白自学 + 开发备查)文档定位:零基础自学、日常开发备查;每个语法模块:定义说明 → OC完整示例 → 等价JS/TS代码 → 语法详解 → 异同对比 → 常见坑 前置约定
wuyk55517 小时前
c语言·开发语言·c++·stm32·嵌入式硬件·算法
98.C语言易混难点:字符数组与字符串指针的底层差异我们先看两个最常见的字符串定义:从表面上看,二者都能通过printf("%s", s)和printf("%s", p)打印出hello,但它们的底层存储位置、修改权限完全不同:
sunoo-2292 天前
c语言·数据结构·笔记·学习·链表
【C 语言数据结构】单向链表核心操作全解析 + 实战踩坑总结本文是单向链表的入门学习笔记,基于 C 语言、带头结点的设计实现,覆盖创建、插入、遍历、反转、排序、删除、销毁全流程核心操作,并结合实际调试中遇到的段错误、逻辑漏洞等问题整理踩坑指南。
wp123_118 小时前
c语言·开发语言
IPX8 防水 Type‑C连接器:安费诺 124018792112A 与 TONEVEE TY48087‑24A 技术梳理在工业 IoT、户外设备、车载硬件项目中,IPX8 等级 24Pin 全功能 Type‑C 母座同时兼顾高速信号、PD 供电与浸水防护,是接口设计的关键器件。本文梳理安费诺 124018792112A、TONEVEE TY48087‑24A 两款器件的性能、核心参数以及适用场景,供硬件工程师项目选型参考。
2401_862880821 天前
c语言·数据结构·算法
数据结构 --- 栈栈(Stack)是一种只允许在固定一端进行数据插入和删除操作的线性数据结构。这一端称为栈顶(Top),另一端称为栈底(Bottom)。数据的插入操作称为入栈(Push),数据的删除操作称为出栈(Pop)。
额额额对了1 天前
c语言·数据结构·算法
数据结构:二叉树二叉树从入门到实战:C语言实现与核心应用指南一、为什么要学二叉树?作为数据结构体系里承上启下的核心模块,二叉树是你从线性表跨入非线性结构的第一道门槛。它不仅是后续学习堆、平衡树、红黑树的基础,更是大量工程场景的底层支撑:
Navigator_Z1 天前
c语言·算法·leetcode
LeetCode //C - 1203. Sort Items by Groups Respecting DependenciesThere are n items each belonging to zero or one of m groups where group[i] is the group that the i-th item belongs to and it’s equal to -1 if the i-th item belongs to no group. The items and the groups are zero indexed. A group can have no item belonging
多弗朗皮卡丘3 天前
c语言·开发语言
C语言梦开始的地方10:指针进阶上一章我们了解什么是指针,指针类型的意义,指针整数运算,野指针,assert断言和指针的使用和传址调用。本章将继续了解指针的其他使用方法以及上一章的留下的坑。