自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 LLM-Challenge(一):LangChain 翻译器

本文介绍了如何利用LangChain框架构建一个智能翻译器,主要技术点包括:1)使用ChatOpenAI集成GPT-4o模型实现多语言翻译;2)通过PromptTemplate设计专业翻译提示词;3)采用Pydantic实现结构化输出;4)完善的错误处理机制提升系统健壮性。项目完整展示了从用户输入到结构化输出的整个流程,并强调了环境变量管理、API密钥安全等最佳实践,为开发者提供了LangChain整合大语言模型的实用案例。

2025-07-28 00:06:27 647

原创 MarOS-03:多段程序引导系统教程

MarOS是一个多段程序引导系统,展示了从硬件启动到程序执行的完整过程。系统包含智能的主引导记录(MBR)、多段用户程序和构建系统,核心技术包括动态程序加载器、段重定位机制和LBA28硬盘访问。MBR能够检测程序大小并按需加载,段重定位技术让程序可在任意内存位置运行。系统采用多段架构设计,支持段间跳转,并实现了完整的字符显示系统,包括光标管理、特殊字符处理和自动滚屏功能。通过Makefile构建工具,系统能自动生成硬盘镜像并写入程序组件。该项目揭示了现代操作系统的基本架构和关键技术实现。

2025-07-23 16:40:21 566

原创 MarOS-02:编写简单的引导扇区程序(二)

这篇文章介绍了MarOS项目中的第二个引导扇区程序,该程序实现了从1累加到100并显示结果的功能。文章从程序结构、字符串显示、数学运算、堆栈管理和数字转换等方面进行了深入分析,展示了汇编语言编程的精妙之处。程序采用数据与代码分离的设计,通过手工循环显示字符串,使用堆栈存储数字位数,最终正确显示"1+2+3+...+100=5050"的结果。文章还探讨了程序设计的底层原理和实际应用价值,为理解引导扇区程序和底层系统开发提供了宝贵参考。

2025-07-14 17:57:01 999

原创 MarOS-01:编写简单的引导扇区程序(一)

本文介绍了一个简单的引导扇区程序MarOS-01,解析了计算机启动时BIOS加载引导扇区的底层原理。该程序通过512字节代码实现文本显示和数字转换功能,展示了实模式内存管理、显存操作和汇编编程技巧。文章详细讲解了程序结构,包括字符串显示、十进制转换算法和引导扇区标志,并提供了编译运行方法。通过分析这个微型程序,读者可以了解计算机底层工作机制,包括段寄存器使用、显存访问和汇编语言特性。这些小而精的底层代码有助于深入理解计算机系统原理。

2025-07-10 17:55:23 600

原创 LibCSTL 开发手记:基于kernel list 的通用队列

本文介绍了基于Linux Kernel list的通用队列实现,详细描述了队列的数据结构、初始化、入队和出队操作。队列通过queue_head和queue_node结构实现,queue_head作为队列的头部,queue_node包含用户数据和链表指针。初始化时,队列头部的next和prev指针指向自身。入队操作通过list_add_head将新节点插入队列头部,出队操作则通过list_remove_tail移除队列尾部的节点。多个元素入队后,队列遵循先进先出(FIFO)原则,最先入队的元素最先出队。该实现

2025-05-12 18:07:01 432

原创 LibCSTL 开发手记:基于kernel list 的通用栈

LibCSTL 开发手记:基于kernel list 的通用栈。

2025-05-09 18:21:19 279

原创 LibCSTL开发手记:Linux kernel hlist 移植优化

如果原来有第一个节点,更新其 pprev 指针。如果后继节点存在,更新其 pprev 指针。获取要删除节点的 next 和 pprev。如果存在后继节点,更新其 pprev 指针。更新头节点的 first 指针。更新新节点的 pprev 指针。设置新节点的 pprev 指针。更新前驱节点的 next 指针。更新前驱节点的 next 指针。更新新节点的 next 指针。设置新节点的 next 指针。设置被删除节点的指针为危险值。保存原来的第一个节点。

2025-05-08 18:36:32 754

原创 LibCSTL开发手记:Linux Kernel list 移植优化

移植后我们只需要将list_node定义在你自己的结构体中即可。为了可读性和操作简化,请把list_node定义在结构体头部,虽然对于list来说你不把它定义在头部也没有关系。这是Linux内核中很常用的一个宏定义,配合offsetof可以轻松根据结构体成员计算出结构体首地址,内核通用链表实现依赖于这个红。我么先来看offsetofsize_t0->这个宏用来获取结构体成员的偏移,通过将结构体首地址定义为 0 ,从而获取结构体成员相对于 0 的偏移, 也就是相对于结构体首地址的偏移。再来看。

2025-04-07 11:47:32 432

原创 LibCoroutine开发手记:细粒度C语言协程库

项目地址:https://github.com/jelasin/LibCoroutine使用C开发的一个协程库,支持协程同步,动态添加,通过调度器进行协程调度。

2025-04-02 19:05:47 205

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除