Extern
Declares a variable, array or object having external linkage
symbolname
Declares symbolname as an external name, meaning it is global to external modules. Extern only declares variables, arrays and objects, and does not define them (different from Common or Dim). It also has the effect of making symbolname a shared name, meaning it is visible within procedures (see Shared). A symbolname declared as external name can be (re)defined (using Dim or Redim) only in a single external module.
If Alias is used, aliasname will be used as the external name rather than symbolname, and its case will be preserved.
If Import is used, the name will be added to the dynamic library import list so its address can be fixed at run-time.
Output:
Syntax
Parameters
symbolname
The name of the variable, array or object.
aliasnameAn alternate external name for the variable, array or object.
Description
Declares symbolname as an external name, meaning it is global to external modules. Extern only declares variables, arrays and objects, and does not define them (different from Common or Dim). It also has the effect of making symbolname a shared name, meaning it is visible within procedures (see Shared). A symbolname declared as external name can be (re)defined (using Dim or Redim) only in a single external module.
If Alias is used, aliasname will be used as the external name rather than symbolname, and its case will be preserved.
If Import is used, the name will be added to the dynamic library import list so its address can be fixed at run-time.
Example
'' extern1.bas
Extern Foo Alias "foo" As Integer
Sub SetFoo
foo = 1234
End Sub
Extern Foo Alias "foo" As Integer
Sub SetFoo
foo = 1234
End Sub
'' extern2.bas
Declare Sub SetFoo
Extern Foo Alias "foo" As Integer
Dim foo As Integer = 0
SetFoo
Print Foo
Declare Sub SetFoo
Extern Foo Alias "foo" As Integer
Dim foo As Integer = 0
SetFoo
Print Foo
Output:
1234
Dialect Differences
- Not available in the -lang qb dialect.
Differences from QB
- New to FreeBASIC
See also