Skip to content

EXTERN


声明具有外部链接的变量、数组或对象

语法

Extern [ Import ] symbolname[ (subscripts) ] [ Alias "aliasname" ] as DataType [, ...]

参数

symbolname

变量、数组或对象的名称。

aliasname

变量、数组或对象的备用外部名称。

说明

symbolname 声明为外部名称,意味着它对外部模块(包括将被编译为静态库和动态库(DLL)的模块)是全局可见的。

Extern 仅声明变量、数组和对象,不对其进行定义(与 CommonDim 不同)。它还具有将 symbolname 设为 共享 名称的效果,即在过程内部也可见(参见 Shared)。声明为外部名称的 symbolname 只能在单个外部模块中(使用 Dim 或 Redim)被(重新)定义。

若使用了 Alias,则会以 aliasname 作为外部名称而非 symbolname,且其大小写将被保留。

Extern 是为支持 C 库而添加的。

若使用了 Import,该名称将被加入动态库导入列表,以便在运行时修正其地址。

示例

start GeSHi

vb
'' extern1.bas

Extern Foo Alias "foo" As Integer

Sub SetFoo
    foo = 1234
End Sub

end GeSHi

start GeSHi

vb
'' extern2.bas

Declare Sub SetFoo

Extern Foo Alias "foo" As Integer

Dim foo As Integer = 0

SetFoo

Print Foo

end GeSHi

输出:

 1234

平台差异

  • Windows 不支持将 Extern 与动态库(使用 -dll 或 -dylib 编译)一起使用。

方言差异

与 QB 的区别

  • FreeBASIC 新增

另请参阅

  • Extern...End Extern
  • Common
  • Dim
  • Shared
  • Alias(名称)
  • Alias(修饰符)

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系