引入自定义头文件导致操作系统启动崩溃,且无法引入外部模块的问题求助
引入自定义头文件导致操作系统启动崩溃,且无法引入外部模块的问题求助
我正在开发一个操作系统,目前碰到两个非常棘手的问题:一是没办法引入外部模块(这对任何非简单的项目来说都是刚需),二是我自己编写的自定义头文件在引入后会直接导致系统启动崩溃。
我已经尝试过不少方案,现在是最简化的版本,基于Limine的C++模板来搭建项目。
这是我的graphics.hpp头文件:
#pragma once #include <cstdint> namespace kint { namespace graphics // namespace kint::graphics { typedef std::uint32_t index_t; typedef std::uint32_t color_t; inline std::uint32_t width = 0; inline volatile std::uint32_t *vram = nullptr; void init(void); void drawPixel(index_t, index_t, color_t); }}
我用Limine实现这个头文件的代码如下(内容有所截断):
#include <cstdint> #include <limine.h> // 后续实现代码
现在只要在项目里引入这个graphics.hpp,操作系统启动就会崩溃。我已经检查过基础的语法问题,但一直找不到问题根源。有没有大佬能帮我分析下可能的原因,或者给我一些调试方向?毕竟不能用外部模块,只能自己硬啃这些底层问题了。
备注:内容来源于stack exchange,提问作者Spencer Rosas-Gunn
相关产品推荐
相关产品推荐

