====== Extern linkage und C language linkage ======
FIXME
Wenn man C und C++ in einem Programm gleichzeitigt verwendet, muss man einiges beachten. C++-Funktionen, die aus den C-Funktionen erreichbar sein müssen, sollen mit der C-Bindung deklariert werden.
Dabei sollte man beachten, dass folgenden 2 Beispiele nicht das gleiche bedeuten:
extern "C" void hello()
{
std::cout << "hello\n";
}
Das war eine Deklaration mit **extern linkage** und mit **C language linkage**.
extern "C" {
void hello()
{
std::cout << "hello\n";
}
}
Und das war eine Deklaration nur mit **C language linkage**.
Die beiden Beispiele unten sind dagegen equivalent:
extern "C" int foo;
extern "C" void bar();
...und:
extern "C"
{
extern int foo;
extern void bar();
}
Quelle: [[http://tldp.org/HOWTO/C++-dlopen/thesolution.html]]
----
Stand: 30.08.2016\\
--- //[[feedback.jk-wiki@kreick.de|: Jürgen Kreick]]//
EOF