3.5 Mixed-language programming

You can mix calls between C and C++ and assembly language routines provided you comply with the Procedure Call Standard for the ARM Architecture (AAPCS).

The embedded assembler and compliance with the Base Standard Application Binary Interface for the ARM Architecture (BSABI) make mixed language programming easier to implement. These assist you with:

  • Name mangling, using the __cpp keyword.

  • The way the implicit this parameter is passed.

  • The way virtual functions are called.

  • The representation of references.

  • The layout of C++ class types that have base classes or virtual member functions.

  • The passing of class objects that are not Plain Old Data (POD) structures.

Non-ConfidentialPDF file icon PDF versionARM DUI0471M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.