Revision history for GlossaryIndex


Revision [21799]

Last edited on 2017-07-29 03:06:28 by fxm [Added the acronym RTTI]
Additions:
##[[KeyPgObject|Object]]## is a built-in type which provides Run-Time Type Information (RTTI) for all types derived from it using the ##[[KeyPgExtends|Extends]]## declaration, allowing them to be used with ##[[KeyPgOpIs|Operator Is]]##, and to support ##[[KeyPgVirtual|Virtual]]## and ##[[KeyPgAbstract|Abstract]]## member functions.
**RTTI**
Acronym for "Run-Time Type Information". The ##[[KeyPgObject|Object]]## built-in type provides the RTTI capacity for all types derived from it using the ##[[KeyPgExtends|Extends]]## declaration, allowing them to be used with ##[[KeyPgOpIs|Operator Is]]##, and to support ##[[KeyPgVirtual|Virtual]]## and ##[[KeyPgAbstract|Abstract]]## member functions.
Deletions:
##[[KeyPgObject|Object]]## is a built-in type which provides run-time type information for all types derived from it using the ##[[KeyPgExtends|Extends]]## declaration, allowing them to be used with ##[[KeyPgOpIs|Operator Is]]##, and to support ##[[KeyPgVirtual|Virtual]]## and ##[[KeyPgAbstract|Abstract]]## member functions.


Revision [21793]

Edited on 2017-07-27 03:49:01 by fxm [Added the definition of object (built-in type)]
Additions:
**object (built-in TYPE or CLASS)**
##[[KeyPgObject|Object]]## is a built-in type which provides run-time type information for all types derived from it using the ##[[KeyPgExtends|Extends]]## declaration, allowing them to be used with ##[[KeyPgOpIs|Operator Is]]##, and to support ##[[KeyPgVirtual|Virtual]]## and ##[[KeyPgAbstract|Abstract]]## member functions.


Revision [21792]

Edited on 2017-07-27 00:50:04 by fxm [Added the definition of inheritance]
Additions:
**inheritance (TYPE or CLASS)**
Inheritance is when deriving a type from a base type, by using the ##[[KeyPgExtends|Extends]]## declaration. Members of the base type become members of the derived type. ##[[KeyPgVisPrivate|Private]]## members of a base type are never directly accessible from a derived type, but can be accessed through calls to the ##[[KeyPgVisPublic|Public]]## and ##[[KeyPgVisProtected|Protected]]## members of the base type.


Revision [21791]

Edited on 2017-07-26 23:48:47 by fxm [Added the definition of polymorphism]
Additions:
Polymorphism is the ability of an object to provide different behaviors (use different implementations) depending on its own nature, specifically depending on position of its real type in the inheritance hierarchy. Polymorphism is achieved by overriding ##[[KeyPgVirtual|Virtual]]## or ##[[KeyPgAbstract|Abstract]]## member functions of the base type.
Deletions:
Polymorphism is the ability of an object to provide different behaviors (use different implementations) depending on its own nature, specifically depending on position of its real type in the inheritance hierarchy. Polymorphism is achieved by overriding virtual member functions of the base type.


Revision [21790]

Edited on 2017-07-26 14:54:35 by fxm [Added the definition of polymorphism]
Additions:
**polymorphism (TYPE or CLASS)**
Polymorphism is the ability of an object to provide different behaviors (use different implementations) depending on its own nature, specifically depending on position of its real type in the inheritance hierarchy. Polymorphism is achieved by overriding virtual member functions of the base type.


Revision [21789]

Edited on 2017-07-26 14:04:21 by fxm [Added some definitions about TYPE or CLASS (override, virtual member function, abstract member function)]
Additions:
**abstract member function**
A member function without body that must be overridden by a member function of a type more derived than the type it was declared in. See ##[[KeyPgAbstract|Abstract (member)]]##.
**override**
Attribute to specify that a member function must override a ##[[KeyPgVirtual|Virtual]]## or ##[[KeyPgAbstract|Abstract]]## member function of a type less derived than the type it was declared in. Using the ##[[KeyPgOverride|Override]]## attribute, the compiler will show an error if the member function does not override anything.
**virtual member function**
A member function that can be overridden by a member function of a type more derived than the type it was declared in. See ##[[KeyPgVirtual|Virtual (member)]]##.


Revision [21788]

Edited on 2017-07-26 13:09:01 by fxm [Added some definitions about TYPE or CLASS (covariance, contravariance, invariance)]
Additions:
**contravariance (TYPE or CLASS)**
**covariance (TYPE or CLASS)**
**invariance (TYPE or CLASS)**
Deletions:
**Contravariance (TYPE or CLASS)**
**Covariance (TYPE or CLASS)**
**Invariance (TYPE or CLASS)**


Revision [21787]

Edited on 2017-07-26 11:08:00 by fxm [Added some definitions about TYPE or CLASS (covariance, contravariance, invariance)]
Additions:
**Contravariance (TYPE or CLASS)**
A typing rule for ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## that allows you to use a more generic (less derived) type than the one originally specified.
**Covariance (TYPE or CLASS)**
A typing rule for ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## that allows you to use a less generic (more derived) type than the one originally specified.
**Invariance (TYPE or CLASS)**
A typing rule for ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## that requires you to use exactly the same type as the one originally specified.


Revision [21772]

Edited on 2017-06-29 06:42:25 by fxm [Added some definitions (LHS, RHS, reference)]
Additions:
**LHS**
Acronym for "Left Hand Side".
**reference**
A reference is an entity that is a way to access (in read and in write) data at memory location. A reference can be thought of as a pointer having as value the memory location, and which is implicitly dereferenced. See: ##[[KeyPgByrefVariables|BYREF (variables)]]##.
**RHS**
Acronym for "Right Hand Side".
Deletions:


Revision [20034]

Edited on 2016-02-10 15:54:01 by DkLwikki [Update link format]
Additions:
The level of access associated with ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## members. Public members are accessible to any code; protected members are accessible to member functions and any derived ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## member functions; private members are accessible only to member functions of that ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]##. By default, ##[[KeyPgType|Type]]## members have public access rights, while ##[[KeyPgClass|Class]]## members are private.
A variable or expression that points to a memory address where it is not known, at least from the compiler's point of view, what type of data is stored at that address. In C this would be the same as a void pointer or (void *). See ##[[KeyPgPtr|ptr]]##.
The method in which arguments are passed to procedures, being either ##[[KeyPgByref|by reference]]## or ##[[KeyPgByval|by value]]##. See [[ProPgPassingArguments|Passing Arguments to Procedures]].
Assignment is one of the fundamental operations of computing. All it means is copying a value into the memory location pointed at by a variable. The value might be a literal, another variable, or the result of some expression. For an instance of a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]##, this involves calling one of its assignment operators. Not to be confused with initialization.
##[[KeyPgByref|Byref]]## specifies passing arguments to procedures by reference. Arguments passed by reference can be modified by the procedure and the changes seen by the caller.
##[[KeyPgByref|Byval]]## specifies passing arguments to procedures by value. Procedures receive a copy of the argument passed. With ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## instances, this involves instantiating temporary objects by calling their copy constructor. These temporaries are destroyed upon procedure exit.
A cast operation changes one data type to another using specified rules. A ##[[KeyPgType|Type]]## structure can implement a custom ##[[KeyPgCast|Cast]]## for any intrinsic data type, and/or other TYPEs, See ##[[KeyPgCast|Cast]]##.
Several lines of source code grouped together all sharing at least one common scope. For example a procedure's code block will be all the lines of code between ##[[KeyPgSub|Sub]]## and ##[[KeyPgEnd|End Sub]]##.
A short name for serial communications port. A program can communicate with an external device, such as modem or another computer through a com port (nowadays the good old com ports are deprecated in favor of USB). See ##[[KeyPgOpenCom|Open Com]]##.
A statement composed one or more additional statements. Typically, a compound statement has a beginning (opening statement), a middle (a statement block) and an end (closing or ending statement), while some have additional parts. Examples of compound statements would be ##[[KeyPgIfthen|IF]]## and ##[[KeyPgFunction|FUNCTION]]##.
A symbol that retains a consistent value throughout the execution of the program. See ##[[KeyPgConst|Const]]##.
A special type of module-level procedure that is automatically called prior to the module-level code flow. See ##[[KeyPgModuleConstructor|Constructor (Module)]]##.
A special member function of a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## that is called when an object is instantiated.
A source code statement that introduces a symbol, constant, variable, procedure, data type, or similar, to the compiler but not necessarily allocate any space for it. See ##[[KeyPgDim|Dim]]##, ##[[KeyPgDeclare|Declare]]##, ##[[KeyPgExtern|Extern]]##, ##[[KeyPgType|Type]]##.
A source code statement (or statements) that allocates space for data or code. For example, ##[[KeyPgSub|Sub]]## defines a procedure by allocating space for the program code it will contain. Some statements can be both a declaration and a definition. For example, ##[[KeyPgDim|Dim]]## both declares and defines a variable.
The act of obtaining a value from memory at a given address. See ##[[KeyPgOpValueOf|Operator * (ValueOf)]]##, ##[[ProPgPointers|Pointers]]##.
The act of deconstructing and deallocating memory for an object instance. When an object is destroyed, its destructor is called. This happens automatically when an object goes out of scope, or when ##[[KeyPgOpDelete|Delete]]## is called with a pointer to an object.
A special type of module-level procedure that is automatically called at program termination. See ##[[KeyPgModuleDestructor|Destructor (Module)]]##.
A special member function of a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## that is called when an object is destroyed.
A method / standard allowing to execute protected mode code (mostly also 32-bit) on a 16-bit real mode DOS kernel. Affects only DOS version of ""FreeBASIC"". See also ##[[FaqDOS|DOS related FAQ]]##
A file containing executable code that is loaded by another application when it is started. Also referred to as a **dll** or shared library. See ##[[ProPgSharedLibraries|Shared Libraries (DLLs)]]##.
A data type restricted to a sequence of named values given in a particular order. See ##[[KeyPgEnum|Enum]]##.
Commonly refers to a data member in a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]##.
An integer associated with an open file or device as given in ##[[KeyPgOpen|Open]]##. All subsequent operations on the opened file or device must use the same file number.
A sequence of characters that controls how data should be presented. See ##[[KeyPgFormat|Format]]##, ##[[KeyPgPrintusing|Print Using]]##.
A procedure defined using ##[[KeyPgFunction|Function]]##, optionally taking parameters and returning a value.
A variable that is visible to all procedures within a module, across multiple modules, or both. See ##[[KeyPgCommon|Common]]## and ##[[KeyPgExtern|Extern]]##.
The area of memory (free store) provided by the runtime library (and operating system) from which the program can dynamically allocate memory. See ##[[KeyPgAllocate|Allocate]]##.
A kind of source file that typically contains type definitions and declarations for variables and procedures that one or more other source files refer to. In general, these files provide a public interface to some module or modules, although a file that is [[KeyPgInclude|#include]]d can contain any text whatsoever.
An instantiated object of a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]##.
The act of creating an object of a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]##, either directly with ##[[KeyPgDim|Dim]]##, or indirectly by, for example, passing an object to a procedure by value.
A data field, procedure, enumeration, type alias or anything else declared within a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## definition.
Variables associated with a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]##. Member data can be static or non-static.
A procedure associated with a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]##. Member functions have full access rights to the members of its type or class, and can be static or non-static.
Member data that each instance of a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## gets their own copy of.
A **member function** that has an implicit ##[[KeyPgThis|This]]## reference as an argument.
A constant usually associated with pointers denoting a 'nothing' value. This value is typically an integer '0' (zero) - the 'NULL terminator' appended to zstrings is chr(0), or asc(!"\0") - but can also be defined as a pointer type, like ##[[KeyPgCast|Cast]](any ptr, 0)##.
A function taking one or more operands (arguments) and returning a value. Operators can work on built-in data types, or can be overloaded to work on user defined types. See ##[[CatPgOperators|Operators]]##.
To declare a procedure having the same name as another, but with different parameters. Free functions, or module-level functions, can be overloaded using the ##[[KeyPgOverload|Overload]]## keyword. ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## member functions can be overloaded by default.
The number of bytes per row, in an image or screen buffer. If there is no padding between rows, then this can be calculated by ##width * bytes_per_pixel##, but this is not necessarily safe to assume. The screen's pitch can be found using ##[[KeyPgScreeninfo|Screeninfo]]##, and an image buffer's pitch can be found by checking the ##pitch## value in the image's header.
A data type used to hold addresses. The kind of pointer determines how the data at the address is interpreted when the pointer is dereferenced, or when used with ##[[KeyPgOpPtrMemberAccess|Operator -> (Pointer to member access)]]##. See ##[[ProPgPointers|Pointers]]##.
A generic name for any block of code that can be called from somewhere else in a program. See ##[[KeyPgSub|Sub]]##, ##[[KeyPgFunction|Function]]##.
A property is a special sort of type/class members, intermediate between a field (or data member) and a method. See ##[[KeyPgProperty|Property]]##.
Any positive or negative number including fractions, irrational and transcendental numbers (like ##pi## or ##e##) and zero. Variables containing a real number have a limited range and precision depending on the number of bits used to represent the number. See: ##[[KeyPgSingle|Single]]## and ##[[KeyPgDouble|Double]]##.
A code block where all the lines of source have the same scope. An explicit scope block can be indicated with the ##[[KeyPgScope|Scope]]## statement. Scope blocks may also be implicit with the usage of ##[[KeyPgIfthen|If..Then]]##, ##[[KeyPgFornext|For..Next]]##, and other compound statements.
A library that exists once on a system that multiple executables can link to at runtime. See ##[[ProPgSharedLibraries|Shared Libraries (DLLs)]]##.
A library that is linked into a program at link time. There is one copy of the library for each executable that links to it. All data is executable specific. See ##[[ProPgStaticLibraries|Static Libraries]]##.
Member data that each instance of a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## shares. This data is defined outside of any ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]##, and takes up no space in the resulting object instance.
A **member function** without an implicit ##this## reference as an argument. Static member functions can be called normally through a variable, or directly using the type's name and the scope resolution operator See ##[[KeyPgStaticMember|Static (Member)]]##.
A procedure defined using ##[[KeyPgSub|Sub]]##, optionally taking parameters and not returning a value.
A reference to an instance of a ##[[KeyPgType|Type]]## or ##[[KeyPgClass|Class]]## that is passed as a hidden argument to non-static member functions of that type or class. Throughout the member function, this instance is referred to using the ##this## keyword, See ##[[KeyPgThis|This]]##.
A thread of execution within a process (running program) that shares execution time with other threads in the same process. See [[CatPgThreading|Threading]].
A structure that can be used to store different types of variables, such as integers, doubles and fixed-length strings in the same location, but only one at a time. See ##[[KeyPgUnion|Union]]##.
A ##[[KeyPgType|Type]]##, ##[[KeyPgUnion|Union]]##, ##[[KeyPgEnum|Enum]]##, or ##[[KeyPgClass|Class]]## data type.
Deletions:
The level of access associated with ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## members. Public members are accessible to any code; protected members are accessible to member functions and any derived ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## member functions; private members are accessible only to member functions of that ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##. By default, ##[[KeyPgType Type]]## members have public access rights, while ##[[KeyPgClass Class]]## members are private.
A variable or expression that points to a memory address where it is not known, at least from the compiler's point of view, what type of data is stored at that address. In C this would be the same as a void pointer or (void *). See ##[[KeyPgPtr ptr]]##.
The method in which arguments are passed to procedures, being either ##[[KeyPgByref by reference]]## or ##[[KeyPgByval by value]]##. See [[ProPgPassingArguments Passing Arguments to Procedures]].
Assignment is one of the fundamental operations of computing. All it means is copying a value into the memory location pointed at by a variable. The value might be a literal, another variable, or the result of some expression. For an instance of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##, this involves calling one of its assignment operators. Not to be confused with initialization.
##[[KeyPgByref Byref]]## specifies passing arguments to procedures by reference. Arguments passed by reference can be modified by the procedure and the changes seen by the caller.
##[[KeyPgByref Byval]]## specifies passing arguments to procedures by value. Procedures receive a copy of the argument passed. With ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## instances, this involves instantiating temporary objects by calling their copy constructor. These temporaries are destroyed upon procedure exit.
A cast operation changes one data type to another using specified rules. A ##[[KeyPgType Type]]## structure can implement a custom ##[[KeyPgCast Cast]]## for any intrinsic data type, and/or other TYPEs, See ##[[KeyPgCast Cast]]##.
Several lines of source code grouped together all sharing at least one common scope. For example a procedure's code block will be all the lines of code between ##[[KeyPgSub Sub]]## and ##[[KeyPgEnd End Sub]]##.
A short name for serial communications port. A program can communicate with an external device, such as modem or another computer through a com port (nowadays the good old com ports are deprecated in favor of USB). See ##[[KeyPgOpenCom Open Com]]##.
A statement composed one or more additional statements. Typically, a compound statement has a beginning (opening statement), a middle (a statement block) and an end (closing or ending statement), while some have additional parts. Examples of compound statements would be ##[[KeyPgIfthen IF]]## and ##[[KeyPgFunction FUNCTION]]##.
A symbol that retains a consistent value throughout the execution of the program. See ##[[KeyPgConst Const]]##.
A special type of module-level procedure that is automatically called prior to the module-level code flow. See ##[[KeyPgModuleConstructor Constructor (Module)]]##.
A special member function of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## that is called when an object is instantiated.
A source code statement that introduces a symbol, constant, variable, procedure, data type, or similar, to the compiler but not necessarily allocate any space for it. See ##[[KeyPgDim Dim]]##, ##[[KeyPgDeclare Declare]]##, ##[[KeyPgExtern Extern]]##, ##[[KeyPgType Type]]##.
A source code statement (or statements) that allocates space for data or code. For example, ##[[KeyPgSub Sub]]## defines a procedure by allocating space for the program code it will contain. Some statements can be both a declaration and a definition. For example, ##[[KeyPgDim Dim]]## both declares and defines a variable.
The act of obtaining a value from memory at a given address. See ##[[KeyPgOpValueOf Operator * (ValueOf)]]##, ##[[ProPgPointers Pointers]]##.
The act of deconstructing and deallocating memory for an object instance. When an object is destroyed, its destructor is called. This happens automatically when an object goes out of scope, or when ##[[KeyPgOpDelete Delete]]## is called with a pointer to an object.
A special type of module-level procedure that is automatically called at program termination. See ##[[KeyPgModuleDestructor Destructor (Module)]]##.
A special member function of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## that is called when an object is destroyed.
A method / standard allowing to execute protected mode code (mostly also 32-bit) on a 16-bit real mode DOS kernel. Affects only DOS version of ""FreeBASIC"". See also ##[[FaqDOS DOS related FAQ]]##
A file containing executable code that is loaded by another application when it is started. Also referred to as a **dll** or shared library. See ##[[ProPgSharedLibraries Shared Libraries (DLLs)]]##.
A data type restricted to a sequence of named values given in a particular order. See ##[[KeyPgEnum Enum]]##.
Commonly refers to a data member in a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##.
An integer associated with an open file or device as given in ##[[KeyPgOpen Open]]##. All subsequent operations on the opened file or device must use the same file number.
A sequence of characters that controls how data should be presented. See ##[[KeyPgFormat Format]]##, ##[[KeyPgPrintusing Print Using]]##.
A procedure defined using ##[[KeyPgFunction Function]]##, optionally taking parameters and returning a value.
A variable that is visible to all procedures within a module, across multiple modules, or both. See ##[[KeyPgCommon Common]]## and ##[[KeyPgExtern Extern]]##.
The area of memory (free store) provided by the runtime library (and operating system) from which the program can dynamically allocate memory. See ##[[KeyPgAllocate Allocate]]##.
A kind of source file that typically contains type definitions and declarations for variables and procedures that one or more other source files refer to. In general, these files provide a public interface to some module or modules, although a file that is [[KeyPgInclude #include]]d can contain any text whatsoever.
An instantiated object of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##.
The act of creating an object of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##, either directly with ##[[KeyPgDim Dim]]##, or indirectly by, for example, passing an object to a procedure by value.
A data field, procedure, enumeration, type alias or anything else declared within a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## definition.
Variables associated with a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##. Member data can be static or non-static.
A procedure associated with a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##. Member functions have full access rights to the members of its type or class, and can be static or non-static.
Member data that each instance of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## gets their own copy of.
A **member function** that has an implicit ##[[KeyPgThis This]]## reference as an argument.
A constant usually associated with pointers denoting a 'nothing' value. This value is typically an integer '0' (zero) - the 'NULL terminator' appended to zstrings is chr(0), or asc(!"\0") - but can also be defined as a pointer type, like ##[[KeyPgCast Cast]](any ptr, 0)##.
A function taking one or more operands (arguments) and returning a value. Operators can work on built-in data types, or can be overloaded to work on user defined types. See ##[[CatPgOperators Operators]]##.
To declare a procedure having the same name as another, but with different parameters. Free functions, or module-level functions, can be overloaded using the ##[[KeyPgOverload Overload]]## keyword. ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## member functions can be overloaded by default.
The number of bytes per row, in an image or screen buffer. If there is no padding between rows, then this can be calculated by ##width * bytes_per_pixel##, but this is not necessarily safe to assume. The screen's pitch can be found using ##[[KeyPgScreeninfo Screeninfo]]##, and an image buffer's pitch can be found by checking the ##pitch## value in the image's header.
A data type used to hold addresses. The kind of pointer determines how the data at the address is interpreted when the pointer is dereferenced, or when used with ##[[KeyPgOpPtrMemberAccess Operator -> (Pointer to member access)]]##. See ##[[ProPgPointers Pointers]]##.
A generic name for any block of code that can be called from somewhere else in a program. See ##[[KeyPgSub Sub]]##, ##[[KeyPgFunction Function]]##.
A property is a special sort of type/class members, intermediate between a field (or data member) and a method. See ##[[KeyPgProperty Property]]##.
Any positive or negative number including fractions, irrational and transcendental numbers (like ##pi## or ##e##) and zero. Variables containing a real number have a limited range and precision depending on the number of bits used to represent the number. See: ##[[KeyPgSingle Single]]## and ##[[KeyPgDouble Double]]##.
A code block where all the lines of source have the same scope. An explicit scope block can be indicated with the ##[[KeyPgScope Scope]]## statement. Scope blocks may also be implicit with the usage of ##[[KeyPgIfthen If..Then]]##, ##[[KeyPgFornext For..Next]]##, and other compound statements.
A library that exists once on a system that multiple executables can link to at runtime. See ##[[ProPgSharedLibraries Shared Libraries (DLLs)]]##.
A library that is linked into a program at link time. There is one copy of the library for each executable that links to it. All data is executable specific. See ##[[ProPgStaticLibraries Static Libraries]]##.
Member data that each instance of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## shares. This data is defined outside of any ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##, and takes up no space in the resulting object instance.
A **member function** without an implicit ##this## reference as an argument. Static member functions can be called normally through a variable, or directly using the type's name and the scope resolution operator See ##[[KeyPgStaticMember Static (Member)]]##.
A procedure defined using ##[[KeyPgSub Sub]]##, optionally taking parameters and not returning a value.
A reference to an instance of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]## that is passed as a hidden argument to non-static member functions of that type or class. Throughout the member function, this instance is referred to using the ##this## keyword, See ##[[KeyPgThis This]]##.
A thread of execution within a process (running program) that shares execution time with other threads in the same process. See [[CatPgThreading Threading]].
A structure that can be used to store different types of variables, such as integers, doubles and fixed-length strings in the same location, but only one at a time. See ##[[KeyPgUnion Union]]##.
A ##[[KeyPgType Type]]##, ##[[KeyPgUnion Union]]##, ##[[KeyPgEnum Enum]]##, or ##[[KeyPgClass Class]]## data type.


Revision [16843]

Edited on 2013-06-15 02:37:02 by DoS386 [imp]
Additions:
A program which combines multiple modules and libraries into a single executable which can be loaded into the computer's memory and followed by the computer. ""FreeBASIC"" uses the **LD** linker. Linkers are the most common, but not the only way to produce executables.
A zstring is in essence a standard C style string terminated by a null character. This data type is provided for greater compatibility with C libraries.
Deletions:
A program which combines a number of programs to form a complete set of instructions which can be loaded into the computer's memory and followed by the computer.
A zstring is in essence a standard C style string ending with an embedded null character. This data type is provided for greater compatibility with C libraries.


Revision [16842]

Edited on 2013-06-15 02:28:17 by DoS386 [junk links & Co]
Additions:
A short name for serial communications port. A program can communicate with an external device, such as modem or another computer through a com port (nowadays the good old com ports are deprecated in favor of USB). See ##[[KeyPgOpenCom Open Com]]##.
Concurrent Versions System. The file manager implemented at Sourceforge where sources are stored, it keeps the history of the changes introduced by the developers. Used by FB in the past. (see also SVN and GIT)
A method / standard allowing to execute protected mode code (mostly also 32-bit) on a 16-bit real mode DOS kernel. Affects only DOS version of ""FreeBASIC"". See also ##[[FaqDOS DOS related FAQ]]##
A tool that automatically translates C headers to ""FreeBASIC"" (although not always perfectly).
Deletions:
A short name for serial communications port. A program can communicate with an external device, such as modem or another computer through a com port. See ##[[KeyPgOpenCom Open Com]]##.
Concurrent Versions System. The file manager implemented at Sourceforge where sources are stored, it keeps the history of the changes introduced by the developers. Used by FB in the past. (see also SVN)
A method / standard allowing to execute protected mode code (mostly also 32-bit) on a 16-bit real mode DOS kernel. Affects only DOS version of FreeBASIC. See also ##[[FaqDOS DOS related FAQ]]##
A tool that automatically translates C headers to FreeBASIC (although not always perfectly).


Revision [16251]

Edited on 2012-08-11 19:22:21 by CountingPine [it's -> its]
Additions:
Data that is passed to a procedure. The procedure refers to this data using the parameter(s) in its parameter list.
A collection of data whose elements are stored contiguously in memory (one after the other, in increasing order). Because of this, an array offers random-access to its elements (any element can be accessed at any time). Insertion or removal of elements anywhere but at the back of the container requires that those elements that follow be relocated, so a linked-list is typically preferred when insertion or removal needs to be efficient.
Assignment is one of the fundamental operations of computing. All it means is copying a value into the memory location pointed at by a variable. The value might be a literal, another variable, or the result of some expression. For an instance of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##, this involves calling one of its assignment operators. Not to be confused with initialization.
The act of deconstructing and deallocating memory for an object instance. When an object is destroyed, its destructor is called. This happens automatically when an object goes out of scope, or when ##[[KeyPgOpDelete Delete]]## is called with a pointer to an object.
The act of giving a variable a value at the point of its creation. For object instances, this involves calling one of its constructors. Not to be confused with assignment, which gives an already existing variable another value.
A procedure associated with a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##. Member functions have full access rights to the members of its type or class, and can be static or non-static.
A source file in its entirety, including any ##include files## that may be present as well. Typically, a module is a logical unit of code, containing parts of a program that relate to one another. For example, if making a game, one may separate the procedures needed for error logging from the procedures that control graphics into their own modules.
Deletions:
Data that is passed to a procedure. The procedure refers to this data using the parameter(s) in it's parameter list.
A collection of data whose elements are stored contiguously in memory (one after the other, in increasing order). Because of this, an array offers random-access to it's elements (any element can be accessed at any time). Insertion or removal of elements anywhere but at the back of the container requires that those elements that follow be relocated, so a linked-list is typically preferred when insertion or removal needs to be efficient.
Assignment is one of the fundamental operations of computing. All it means is copying a value into the memory location pointed at by a variable. The value might be a literal, another variable, or the result of some expression. For an instance of a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##, this involves calling one of it's assignment operators. Not to be confused with initialization.
The act of deconstructing and deallocating memory for an object instance. When an object is destroyed, it's destructor is called. This happens automatically when an object goes out of scope, or when ##[[KeyPgOpDelete Delete]]## is called with a pointer to an object.
The act of giving a variable a value at the point of it's creation. For object instances, this involves calling one of it's constructors. Not to be confused with assignment, which gives an already existing variable another value.
A procedure associated with a ##[[KeyPgType Type]]## or ##[[KeyPgClass Class]]##. Member functions have full access rights to the members of it's type or class, and can be static or non-static.
A source file in it's entirety, including any ##include files## that may be present as well. Typically, a module is a logical unit of code, containing parts of a program that relate to one another. For example, if making a game, one may separate the procedures needed for error logging from the procedures that control graphics into their own modules.


Revision [15514]

Edited on 2011-11-24 00:57:11 by DoS386 [GIFT GPL quotws]
Additions:
See: Image Buffer. An image buffer in ""FreeBASIC""'s native format.
**GIT**
The file manager implemented at Sourceforge where sources are stored, it keeps the history of the changes introduced by the developers. Used by FB now. (see also CVS , SVN and [[Git]]).
Short hand for GNU General Public License: a license for software and other kinds of works. Open source, obligates the user to keep the project open source and under the GPL.
When talking about a collection of data, this is generally the first part of that data that describes the rest. When talking about (header) files, this refers to an include file. In ""FreeBASIC"" the file extension '.bi' is usually used.
The ""FreeBASIC"" preprocessor is responsible for expanding Macros and replacing Defined values with their values.
Subversion. A version control system that allows users to keep track of changes made to sources and documents. Used by FB in the past. (see also CVS and GIT)
An on-line system that provides a set of pages containing information that can be viewed and modified by the public. In this context, it is typically used to refer to the ""FreeBASIC"" on line documentation.
Refers to the instruction set compatible with the 8086 (and later) CPU architecture, ""FreeBASIC"" only supports 80386 and later.
Deletions:
See: Image Buffer. An image buffer in FreeBASIC's native format.
Short hand for GNU General Public License: a free, copyleft license for software and other kinds of works.

When talking about a collection of data, this is generally the first part of that data that describes the rest. When talking about (header) files, this refers to an include file. In FreeBASIC the file extension '.bi' is usually used.
The FreeBASIC preprocessor is responsible for expanding Macros and replacing Defined values with their values.
Subversion. A version control system that allows users to keep track of changes made to sources and documents. All the users can browse and download sources here: [[http://fbc.svn.sourceforge.net/viewvc/fbc/trunk/ fbc.svn.sf.net/viewvc/fbc/trunk]] , but only developers have write access as well. (see also CVS)
An on-line system that provides a set of pages containing information that can be viewed and modified by the public. In this context, it is typically used to refer to the FreeBASIC on line documentation.
Refers to the instruction set compatible with the 80386 (and later) CPU architecture.


Revision [12534]

The oldest known version of this page was created on 2008-02-04 17:49:13 by JeffMarshall [GIFT GPL quotws]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode