C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)
• SRLExportClassMembers PROTECTED exports all protected members of the class whose
declaration textually precedes the pragma.
• SRLExportClassMembers PUBLIC exports all public members of the class whose declaration
textually precedes the pragma.
• SRLExportClassMembers * exports all protected and all public members of the class
whose declaration textually precedes the pragma.
• This pragma is not valid for the TNS/E native compilers.
SRLExports
The SRLExports pragma specifies that a definition of an external function or external variable
is exported from an SRL or a user library (a private shared run-time library). This pragma sets the
srl_export bit for the definition in the object file. When this object file is linked, nld automatically
adds any items which have this bit set to the export list of the SRL. The SRLExports pragma is
supported for TNS/R native C and C++ only.
SRLExports
There is no default setting for this pragma.
Usage Guidelines
• This pragma is valid only for TNS/R-targeted compilations.
• The SRLExports pragma is only allowed in the source file. The SRLExports pragma must
appear directly before the declaration of the external function or external variable. To have
an effect, the corresponding definition must also be within the same compilation unit.
• Normally constants which have compile-time computable values are allocated in the read-only
data section. However, if the constant is exported by the SRLExports pragma, the constant
is allocated in the large data section. This is because read-only data is not allowed to be
exported by an SRL.
• Pragma SRLExports cannot apply to static objects or static functions, or class members.
• Pragma SRLExportClassMembers can be used to export class members.
Example
#pragma srlexports
extern int foo (void) {
...
}
#pragma srlexports // Warning, Not applicable for static
// functions.
static int StaticFunction (void);
SRLName
The SRLName pragma is used to "name" an SRL or a user library (a private shared run-time library).
This pragma is supported for TNS/R native C++ only.
SRLName srl_id
srl_id
is the name of the SRL.
There is no default setting for this pragma.
SRLExports 243