Copyright (C) 2000-2012 |
GNU Info (gcc-300.info)C++ AttributesC++-Specific Variable, Function, and Type Attributes ==================================================== Some attributes only make sense for C++ programs. `init_priority (PRIORITY)' In Standard C++, objects defined at namespace scope are guaranteed to be initialized in an order in strict accordance with that of their definitions _in a given translation unit_. No guarantee is made for initializations across translation units. However, GNU C++ allows users to control the order of initialization of objects defined at namespace scope with the `init_priority' attribute by specifying a relative PRIORITY, a constant integral expression currently bounded between 101 and 65535 inclusive. Lower numbers indicate a higher priority. In the following example, `A' would normally be created before `B', but the `init_priority' attribute has reversed that order: Some_Class A __attribute__ ((init_priority (2000))); Some_Class B __attribute__ ((init_priority (543))); Note that the particular values of PRIORITY do not matter; only their relative ordering. `java_interface' This type attribute informs C++ that the class is a Java interface. It may only be applied to classes declared within an `extern "Java"' block. Calls to methods declared in this interface will be dispatched using GCJ's interface table mechanism, instead of regular virtual table dispatch. automatically generated by info2www version 1.2.2.9 |