Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: All
Jun 16, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Linkage Specification

Linkage between C++ and non-C++ code fragments can be achieved using a linkage-specification. For example:

extern "C" int func(int arg1); // func has C linkage

The quoted string in the linkage specification indicates the required language linkage. The linkage rules of a given language affect the way function names are handled (e.g., all uppercase or not, whether name mangling is applied etc.), the argument passing mechanism and the return value. Using a linkage-specification with a string that is unknown to the implementation is an error. A C++ compiler must support two linkage types: extern "C" and extern "C++," which is the default linkage type and is therefore redundant. Many implementations support additional languages, for instance:

extern "Ada" int func(int arg1); // Ada linkage
extern "Fortran" int func(int arg1); // Fortran linkage
Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date