Including its size, its alignment, its treatment by calling conventions,Īnd the representation of pointers to it.Ī function that, in addition to the actions required of a base The basic representational properties of a type decided by the base C ABI, It means T itself as well as all of the classes from which it is derived,ĭirectly or indirectly, virtually or non-virtually.Ī function that runs the destructors for non-static data members of T and When this document refers to base classes of a class T, The descriptions below make use of the following definitions:Ī value A such that any object X of type T has an address satisfying Platforms adopting any of these recommendations should describe theĮxact changes they've made in their platform ABI documentation,Īs the set of recommendations in this document may change over time. The ABI can remove these expression-mangling rules. Recommendation for new platforms: considerįorbidding the use of function templates on your platform so that Interoperate with existing C++ object code. Recommendations for platforms adopting this ABI with no need to While this ABI has generally stood up well, there are some parts of it Platforms using this ABIįor C++ should declare that they do so, either unmodified or with a To define the C++ ABI for their platform. Platform vendors retain the ultimate power This document is not an authoritative definition of the C++ ABI forĪny particular platform. Replacing a 64-bit pointer with a 32-bit pointer. Unportable assumptions and translate them appropriately, e.g. The meantime, it is usually straightforward to recognize these In terms of portable C concepts that are defined in the C ABI. There is an ongoing project to restate the entire C++ ABI specification Still directly make Itanium-specific or 64-bit-specific assumptions. It was originally written for the Itanium architecture, and some parts It does this by layering on top of a platform's base C ABI. Which can be used by C++ implementations on a variety of platforms. In general, this document is meant to serve as a generic specification Interfaces, exception handling interfaces, global naming, and various User-defined data types, as well as internal compiler generated Memory layout for C++ data objects, including both predefined and The implementation-provided runtime and libraries. User-provided C++ program fragments and between those fragments and In this document, we specify the Application Binary Interface (ABI)įor C++ programs: that is, the object code interfaces between different Open-source project with contributions from a variety of individuals Were provided by a variety of individuals. Industry coalition consisting of (in alphabetical order) CodeSourcery,Ĭompaq, EDG, HP, IBM, Intel, Red Hat, and SGI. This document was originally developed jointly by an informal 2.6 Virtual Tables During Object Construction.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |