为'gdt_flush'指定的存储类

Storage class specified for 'gdt_flush'

本文关键字:存储 gdt flush      更新时间:2023-10-16

我正在编写一个需要与一些外部汇编函数接口的操作系统。我把声明放在头文件中:

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: error:存储类为'gdt_flush'指定

我以前从未见过这个错误,关于如何解决这个问题有什么想法吗?

    extern void gdt_flush(u32int);

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