我正在Rust中编写一个操作系统,需要直接调用我计算的虚拟地址(类型为u32)。我认为这是相对简单的: let code = virtual_address as (extern "C" fn());
(code)();
但是,这抱怨演员是非原始的。这表明我使用了From特质,但我不明白这可能会有什么帮助(虽然我对Rust比较新,所以可能会漏掉一些东西)。 error[E0605]: non
我正在制作一个操作系统,我被困在GDT中。我尝试过不同的教程,例如http://www.osdever.net/bkerndev/Docs/gdt.htm和http://www.jamesmolloy.co.uk/tutorial_html/4.-The%20GDT%20and%20IDT.html,但是我的操作系统总是崩溃。我怎样才能解决这个问题?我使用grub,所以内核已经处于保护模式。 bo
当我尝试编译C代码,其中包括另一C头我得到这个错误以前声明: x86_64-uefi/../../libk/string.h:9:10: error: function declared 'ms_abi' here was
previously declared without calling convention
KABI int memcmp(const void *d1, co
这就是问题所在: 当我用C链接到我的脚本,使用LD,当我产生ELF32-I386文件在LD输出格式,把它作为OUTPUT_FORMAT()在ld脚本中,我没有任何错误,但是如果我尝试放入这最后一个OUTPUT_FORMAT()“二进制文件”或尝试输出带.bin扩展名的文件,我会得到如下错误的混合: kernel.o: In function `k_main':
kernel.c:(.text+0