External linkage attribute for public data located in DLL's
Syntax
Description
Is used only (with the
Extern keyword) in external modules to access global variables from Win32 DLLs: the variable names will be added to the dynamic library import list so that their addresses can be fixed at run-time.
This is due to the level of indirection on any such access: an implicit pointer dereference.
Example
/* mydll.c :
compile With
gcc -Shared -Wl,--strip-all -o mydll.dll mydll.c
*/
__declspec( dllexport ) Int MyDll_Data = 0x1234;
/' import.bas :
Compile with
fbc import.bas
'/
#inclib "mydll"
Extern Import MyDll_Data Alias "MyDll_Data" As Integer
Print "&h" + Hex( MyDll_Data )
' Output:
' &h1234
Dialect Differences
- Not available in the -lang qb dialect unless referenced with the alias __Import.
Differences from QB
See also