COMMON
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgCommon
- 最后更新: 2021-10-05
变量声明和作用域修饰符
语法
Common [Shared] symbolname[()] [AS DataType] [, ...]说明
声明在代码模块之间共享的变量,包括将被编译为静态库和动态库(DLL)的模块。
使用该变量的所有其他代码模块中必须有匹配的 Common 语句。
Common 变量不能被初始化。
Common 数组始终是可变长度的,必须用空参数列表 () 定义,其维度在之后的 Dim 或 Redim 语句中设置。
Common 变量不能是具有显式或隐式构造函数或析构函数的用户自定义类型的实例。
可选参数 Shared 使变量成为全局变量,可以在 sub 和 function 内部以及模块级别使用。
示例
start GeSHi
vb
'' common1.bas
Declare Sub initme()
Common Shared foo() As Double
ReDim foo(0 To 2)
initme()
Print foo(0), foo(1), foo(2)end GeSHi
start GeSHi
vb
'' common2.bas
Common Shared foo() As Double
Sub initme()
foo(0) = 4*Atn(1)
foo(1) = foo(0)/3
foo(2) = foo(1)*2
End Subend GeSHi
将两个文件编译如下:
fbc common1.bas common2.bas
运行 common1 产生如下输出:
3.141592653589793 1.047197551196598 2.094395102393195平台差异
- Windows 不支持
Common与动态库(使用 -dll 或 -dylib 编译)一起使用。
与 QB 的差异
- 数组将始终是可变长度的。
- 不需要
blockname,且必须删除,因为声明顺序不再重要,只有符号名称才重要。 Common不允许在使用Chain链接程序时保留某些变量的值。
另请参阅
DimEraseExternLboundRedimPreserveSharedStaticUboundVar
返回 目录