Benutzer-Werkzeuge

Webseiten-Werkzeuge


edv:prg:extern_linkage_und_c_language_linkage

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
: Jürgen Kreick

EOF

edv/prg/extern_linkage_und_c_language_linkage.txt · Zuletzt geändert: 2020/01/11 01:23 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki