cDEC$ ATTRIBUTES
Lets you specify properties for data objects and procedures. It
takes the following form:
cDEC$ ATTRIBUTES att [,att]... :: object [,object]...
c Is one of the following: C (or c), !, or *.
att Is one of the following properties:
ADDRESS64
ALIAS EXTERN
ALLOW_NULL IGNORE_LOC
NO_ARG_CHECK
C NOMIXED_STR_LEN_ARG
DECORATE REFERENCE
DEFAULT REFERENCE32
DESCRIPTOR REFERENCE64
DESCRIPTOR32 STDCALL
DESCRIPTOR64 VALUE
VARYING
object Is the name of a data object or procedure.
The properties can be used in function and subroutine definitions,
in type declarations, and with the INTERFACE and ENTRY statements.
Properties applied to entities available through use or host
association are in effect during the association. For example,
consider the following:
MODULE MOD1
INTERFACE
SUBROUTINE SUB1
!DEC$ ATTRIBUTES C, ALIAS:'othername' :: NEW_SUB
END SUBROUTINE
END INTERFACE
CONTAINS
SUBROUTINE SUB2
CALL NEW_SUB
END SUBROUTINE
END MODULE
In this case, the call to NEW_SUB within SUB2 uses the C and ALIAS
properties specified in the interface block.
Options C, STDCALL, REFERENCE, VALUE, and VARYING affect the
calling conventions of routines:
o You can specify C, STDCALL, REFERENCE, and VARYING for an
entire routine.
o You can specify VALUE and REFERENCE for individual arguments.
For compatibility, !MS$ATTRIBUTES can be used in place of cDEC$
ATTRIBUTES.
The properties are described in the following sections.
Additional Information:
explode
extract