社区
Linux_Kernel
帖子详情
关于cpu_gdt_table[GDT_ENTRIES]的问题
orclc
2005-08-03 03:23:15
我在程序了作了如下声明:
extern struct desc_struct cpu_gdt_table[GDT_ENTRIES];
编译时出错,错误信息为:
array type has incomplete element type
这是为什么啊?
...全文
154
回复
打赏
收藏
关于cpu_gdt_table[GDT_ENTRIES]的问题
我在程序了作了如下声明: extern struct desc_struct cpu_gdt_table[GDT_ENTRIES]; 编译时出错,错误信息为: array type has incomplete element type 这是为什么啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
操作系统内核空间初始化全解析:从实模式到多核启动
本文深入解析操作系统内核空间初始化全过程,涵盖早期从实模式到保护模式的切换(含A20控制、
GDT
加载、CR0设置)、核心子系统初始化(内存管理、IDT/APIC配置)、SMP多核启动流程(BSP/AP协同、IPI唤醒),以及初始化优化与调试方法。重点聚焦x86/x86_64架构下Ring 0级硬件控制、页表构建、中断框架和延迟初始化机制。
linux内核体系结构007:建造 Linux 城:魔法门与无限帝国 —— 深度解剖内存管理
如果说之前的“进程”章节是在讲一座城市的“居民”(进程),那么这一章,就是关于这座城市的**“土地规划”和“房产分配”**。它解释了为什么我们的程序可以轻松使用远超物理内存的大空间,也解释了当
CPU
访问一个内存地址时,背后究竟发生了什么复杂的“地址空间跳跃”。我会用最通俗的语言,帮你完全“吃透”书中的这三页。不仅会剖析物理内存布局,还会解开“逻辑地址→线性地址→物理地址”这条关键的转换链条,并为广大读者提供一个。
第03章 引导启动程序(3):386的觉醒——head.s与32位保护模式大门(代码解析)
本文深入解析Linux 0.11内核引导程序head.s(237行AT&T语法汇编),涵盖32位保护模式初始化、A20地址线检测、CR0控制寄存器配置、IDT/
GDT
重建、页目录与页表静态布局、恒等映射构建及分页机制开启全过程。重点阐释汇编到C语言交接的栈魔术实现,以及硬件兼容性设计(如协处理器检测与软件仿真)。内容聚焦x86架构底层启动逻辑,是理解操作系统内存管理与特权级切换的关键代码。
Linux early_idt_handler早期中断处理与ignore_int
本文深入解析x86_64架构下Linux内核引导初期的early_idt_handler机制,包括其通过SETUP_IDT宏构建32项简易IDT、调用early_idt_handler_common处理异常、依赖exception
table
进行页故障修复等关键流程;同时阐明ignore_int作为默认中断处理入口的设计原理、栈操作风险及在early_idt_setup中被覆盖的初始化逻辑,强调其在IDT完全初始化前的兜底作用。
C语言在操作系统开发中的核心优势与实战指南
本文深入分析C语言在操作系统开发中的核心优势,包括精确内存控制、无运行时依赖、与汇编无缝衔接等;涵盖开发环境搭建、内存管理与进程调度实现、设备驱动与中断处理、内存安全增强方案、C与Rust协作模式,并提供学习路径与调试优化实践。内容聚焦系统编程关键技术,忽略非IT相关论述。
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章