LLVM IR DLL存储类别

在LLVM程序中,所有全局变量,函数,别名(Aliases)可以拥有下面的DLL存储类别之一:

dllimport

“dllimport”会导致编译器通过一个指向到 被DLL导出的指针的全局指针,来引用一个函数或变量。在微软windows平台,这个指针名的格式为 __imp_ 接上引用的函数或变量的名称(__imp_函数名)。

dllexport

“dllexport” 会导致编译器提供一个指向 一个在DLL中的指针的全局变量,所以它可以被引用到带有 dllimport属性的实体。在微软windows平台,这个指针名的格式为 __imp_接上引用的函数或变量的名称(__imp_函数名)。为了使编译器,汇编器和链接器知道某个符号是被外部引用并且防止这个符号被删除,因此这个存储类别为了定义一个dll接口而存在的。