The ATTRIBUTES directive option DEFAULT overrides certain compiler options that can affect external routine and COMMON block declarations. It takes the following form:
cDEC$ ATTRIBUTES DEFAULT :: entity
c |
Is one of the following: C (or c), !, or *. (See Syntax Rules for Compiler Directives.) |
entity |
Is an external procedure or COMMON block. |
It specifies that the compiler should ignore compiler options that change the default conventions for external symbol naming and argument passing for routines and COMMON blocks (such as names, assume underscore, assume 2underscores on Linux systems, and iface on Windows* systems).
This option can be combined with other ATTRIBUTES options, such as STDCALL, C, REFERENCE, ALIAS, etc. to specify properties different from the compiler defaults.
This option is useful when declaring INTERFACE blocks for external routines, since it prevents compiler options from changing calling or naming conventions.