Skip to content

Alias Name

Paul Squires edited this page Sep 19, 2026 · 1 revision

Home › Procedures › Alias (Name)

Alias (Name)

Clause of the Sub and Function statements that provides an alternate internal name.

Syntax

[Declare] { Sub | Function } usablename Alias "alternatename" (...)

Description

Alias gives an alternate name to a procedure. This alternate name cannot be used within the program to call the procedure, but it is visible (if the function is not private) to the linker when linking with code written in other languages.

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 Declare, only the alternate name is used by the linker.

Differently from normal procedure names, Alias does not change the case of the alternate name, so it is useful when external code requires an exported function with a particular name or with a particular case.

Alias can be used to specify an alternate name for Type definitions.

Alias can be used as a modifier that specifies an alternate name mangling for procedure parameters. See Alias (Modifier)

Remarks

Usage

declare sub usablename Alias "alternatename" ( ... )ordeclare function usablename Alias "alternatename" ( ... )or

sub usablename Alias "alternatename" ( ... )

...

end sub

or

function usablename Alias "alternatename" ( ... )

...

end function

or

type typename Alias "alternatename" ( ... )

...

end type

Differences from QB

  • In QB, Alias only worked with Declare.

See also

Examples

If there is a sub (without parameter) called xClearScreen in an external library and you want to reference it with the name ClearVideoScreen, here is sample code to do so:
Declare Sub ClearVideoScreen Alias "xClearScreen" ()

If there is a function (with parameters and return value) called MyFunctioninLib in an external library and you want to reference it with the name myfunction, here is sample code to do so:
Declare Function myfunction Alias "MyFunctioninLib" (ByVal As Long, ByVal As Long, ByVal As ZString Ptr) As Integer

A procedure meant to be used by external C code, exported as MyExportedProc:

Function MultiplyByFive cdecl Alias "MyExportedProc" (ByVal Parameter As Integer) As Integer Export

  Return Parameter * 5

End Function

Category: Procedures
Kind: keyword


Reproduced from the FreeBASIC Wiki Manual under the GNU Free Documentation License 1.3 — with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. Copyright © the FreeBASIC project and wiki contributors. See License.

Clone this wiki locally