1

我正在编写一个需要与一些外部汇编器函数交互的操作系统。我将声明放在标题中:

namespace Kernel
{
    class DescriptorTables
    {
        public:
        void init();
        void gdt_set_gate(s32int,u32int,u32int,u8int,u8int);
        private:
        extern void gdt_flush(u32int);
        struct gdt_entry_struct
        {
        //...

当代码运行时,它会产生

DescriptorTables.h:10:31:错误:为“gdt_flush”指定的存储类

我以前从未见过这个错误,关于如何解决这个问题的任何想法?

4

1 回答 1

2
    extern void gdt_flush(u32int);

你不能extern在课堂上这样说。extern是一个存储类,它解释了您所看到的消息。

于 2012-01-02T05:35:45.573 回答