Revision history for KeyPgAlias


Revision [22626]

Last edited on 2019-03-11 20:39:49 by JeffMarshall [add type alias "alternatename" and update alias links]
Additions:
{{fbdoc item="title" value="ALIAS (Name)"}}----
type //typename// Alias "//alternatename//" ( ... )
end type
##Alias## can be used to specify an alternate name for ##[[KeyPgType|type]]## definitions.
##Alias## can be used as a modifier that specifies an alternate name mangling for procedure parameters. See ##[[KeyPgAliasModifier|Alias (Modifier)]]##
- ##[[KeyPgAliasModifier|Alias (Modifier)]]##
Deletions:
{{fbdoc item="title" value="ALIAS"}}----
##Alias## can also be used as modifier that specifies an alternate mangling for procedure parameters. For example ##extern ""c+""""+"" : declare sub proc( byval as long **alias "long"** ) : end extern##. This form of ##Alias## can only be used as in //##[unsigned] [u]long alias "long"##//. The specific purpose is to allow FreeBASIC to call external ""c+""""+"" procedures (on win-64) requiring a 32-bit ##'long int'## type. Usage of ##Alias## in this way affects win-64 targets only, and is ignored on all other targets.


Revision [22509]

Edited on 2018-09-26 07:59:24 by JeffMarshall [add note on [unsigned] [u]long alias "long]
Additions:
##Alias## can also be used as modifier that specifies an alternate mangling for procedure parameters. For example ##extern ""c+""""+"" : declare sub proc( byval as long **alias "long"** ) : end extern##. This form of ##Alias## can only be used as in //##[unsigned] [u]long alias "long"##//. The specific purpose is to allow FreeBASIC to call external ""c+""""+"" procedures (on win-64) requiring a 32-bit ##'long int'## type. Usage of ##Alias## in this way affects win-64 targets only, and is ignored on all other targets.
Deletions:
##Alias## can also be used as modifier that specifies an alternate mangling for procedure parameters. For example ##extern ""c+""""+"" : declare sub proc( byval as long **alias "long"** ) : end extern##. This form of ##Alias## can only be used as in //##[unsigned] [u]long as "long"##//. The specific purpose is to allow FreeBASIC to call external ""c+""""+"" procedures (on win-64) requiring a 32-bit ##'long int'## type. Only affects win-64 targets, and is ignored on all other targets.


Revision [22508]

Edited on 2018-09-26 07:53:51 by JeffMarshall [add note on [unsigned] [u]long alias "long]
Additions:
##Alias## can also be used as modifier that specifies an alternate mangling for procedure parameters. For example ##extern ""c+""""+"" : declare sub proc( byval as long **alias "long"** ) : end extern##. This form of ##Alias## can only be used as in //##[unsigned] [u]long as "long"##//. The specific purpose is to allow FreeBASIC to call external ""c+""""+"" procedures (on win-64) requiring a 32-bit ##'long int'## type. Only affects win-64 targets, and is ignored on all other targets.
Deletions:
#Alias## can also be used as modifier that specifies an alternate mangling for procedure parameters. For example ##extern "c++" : declare sub proc( byval as long alias "long" ) : end extern##. Only ##[unsigned] [u]long as "long"##, and only has affect on win-64 targets. The specific purpose is to allow FreeBASIC to call external ##c++## procedures (on win-64) requiring a 32-bit ##'long int'## type.


Revision [22507]

Edited on 2018-09-26 07:49:10 by JeffMarshall [add note on [unsigned] [u]long alias "long]
Additions:
Clause of the ##[[KeyPgSub|Sub]]## and ##[[KeyPgFunction|Function]]## statements that provides an alternate internal name.
#Alias## can also be used as modifier that specifies an alternate mangling for procedure parameters. For example ##extern "c++" : declare sub proc( byval as long alias "long" ) : end extern##. Only ##[unsigned] [u]long as "long"##, and only has affect on win-64 targets. The specific purpose is to allow FreeBASIC to call external ##c++## procedures (on win-64) requiring a 32-bit ##'long int'## type.
Deletions:
Clause of the ##[[KeyPgSub|Sub]]## and ##[[KeyPgFunction|Function]]## statements that provides an alternate internal name


Revision [21552]

Edited on 2016-08-15 12:15:12 by fxm [Added a link to Type (Alias)]
Additions:
- ##[[KeyPgTypeAlias|Type (Alias)]]##


Revision [20044]

Edited on 2016-02-10 15:54:25 by DkLwikki [Update link format]
Additions:
Clause of the ##[[KeyPgSub|Sub]]## and ##[[KeyPgFunction|Function]]## statements that provides an alternate internal name
[[[KeyPgDeclare|declare]]] { [[KeyPgSub|sub]] | [[KeyPgFunction|function]] } //usablename// **Alias "//alternatename//"** (...)
##Alias## is commonly used for procedures in libraries written in other languages when such procedure names are valid in the other language but invalid in BASIC. When using ##Alias## with ##[[KeyPgDeclare|Declare]]##, only the alternate name is used by the linker.
- In QB, ##Alias## only worked with ##[[KeyPgDeclare|Declare]]##.
- ##[[KeyPgDeclare|Declare]]##
- ##[[KeyPgExport|Export]]##
Deletions:
Clause of the ##[[KeyPgSub Sub]]## and ##[[KeyPgFunction Function]]## statements that provides an alternate internal name
[[[KeyPgDeclare declare]]] { [[KeyPgSub sub]] | [[KeyPgFunction function]] } //usablename// **Alias "//alternatename//"** (...)
##Alias## is commonly used for procedures in libraries written in other languages when such procedure names are valid in the other language but invalid in BASIC. When using ##Alias## with ##[[KeyPgDeclare Declare]]##, only the alternate name is used by the linker.
- In QB, ##Alias## only worked with ##[[KeyPgDeclare Declare]]##.
- ##[[KeyPgDeclare Declare]]##
- ##[[KeyPgExport Export]]##


Revision [10137]

The oldest known version of this page was created on 2007-07-27 10:47:20 by JeffMarshall [Update link format]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode