🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #940

Re: C und C++

#940
From: Karl-Heinz Krause
Date: Sat, 02 Dec 1995 06:46
37 lines
1457 bytes
Am 30. Nov. 1995 schrieb J. Jager (jager@informatik.uni-stuttgart.de):

> Hallo,
> Ist es moeglich eine Funtkion, die in C++ geschrieben wurde, von C aus
> aufzurufen ? Ich habe die C++-Funtkion uebersetzt und versucht den Objektcode
> zu dem C-Programm zu linken. Doch der Linker meldet sich mit 'unsatisfied
> symbol ...' (damit ist die Funktion gemeint). 

Damit eine C++-Funktion von C aus aufrufbar ist, muß sie als extern"C"
deklariert werden. Die sauberste Methode ist die folgende:

	/* Datei funk.h */
	#ifdef __cplusplus
	extern "C" {
	#endif
	int funk(); 
	#ifdef __cplusplus
	}
	#endif


	// Datei funk.cpp
	#include "funk.h"
	int funk() { ... } // Definition der Funktion


	/* Datei programm.c */
	#include "funk.h"
	...
	    i = funk();   /* hier wird funk aufgerufen */


Das #ifdef in funk.h ist erforderlich, weil ein C-Compiler über
extern"C" sehr erstaunt wäre.


Karl-Heinz Krause
Technical Details
Message-ID: <49osoi$l3p@news00.btx.dtag.de>
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail
References: <49kk48$7f9@zdi.informatik.uni-stuttgart.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail
From: Krause@btx.dtag.de (Karl-Heinz Krause)
Newsgroups: de.comp.lang.c++
Subject: Re: C und C++
Date: 2 Dec 1995 06:46:42 GMT
Organization: Telekom Online Internet Gateway
Message-ID: <49osoi$l3p@news00.btx.dtag.de>
References: <49kk48$7f9@zdi.informatik.uni-stuttgart.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Sender: 0913148778-0001@btx.dtag.de (Karl-Heinz Krause)
X-Newsreader: Forte Free Agent 1.0.82