为'gdt_flush'指定的存储类

时间:2012-01-02 05:33:37

标签: c++ assembly osdev

我正在编写一个需要与某些外部汇编程序函数接口的操作系统。我把声明放在标题中:

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'指定的存储类

我之前从未见过这个错误,有关如何解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:2)

    extern void gdt_flush(u32int);

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