🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: C und C++

#959
From: J. Jager
Date: Tue, 05 Dec 1995 13:40
38 lines
1687 bytes
Hallo, 
Zu meinem Problem gabst du folgenden Loesungsvorschlag:

----------------------------------------------------------------------
Damit eine C++-Funktion von C aus aufrufbar ist, muss 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 */
-------------------------------------------------------------------------

Ich habe das ausprobiert. Das Kompilieren und Linken klappt gut. Leider funktioniert
das Programm nicht, wenn funk.cpp zur Ausgabe 'cout' in 'funk()' benutzt, dann gibt
es waehrend der Laufzeit des Programmes einen Bus error! Mit 'printf' dagegen laeuft
es
problemlos. 
Darf die Funktion 'funk.h' nur reinen C-Code enthalten, da sie als extern "C"
deklariert wurde ?

Gruss
 Isi
Technical Details
Message-ID: <4a1i40$j7n@zdi.informatik.uni-stuttgart.de>
Path: arc1-ca.pugleaf.net!news.informatik.uni-stuttgart.de!news
References: <49kk48$7f9@zdi.informatik.uni-stuttgart.de> <49osoi$l3p@news00.btx.dtag.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.informatik.uni-stuttgart.de!news
From: "J. Jager" <jager>
Newsgroups: de.comp.lang.c++
Subject: Re: C und C++
Date: 5 Dec 1995 13:40:16 GMT
Organization: Informatik, Uni Stuttgart, Germany
Message-ID: <4a1i40$j7n@zdi.informatik.uni-stuttgart.de>
References: <49kk48$7f9@zdi.informatik.uni-stuttgart.de> <49osoi$l3p@news00.btx.dtag.de>
NNTP-Posting-Host: ravioli.informatik.uni-stuttgart.de
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 1.1N (X11; I; HP-UX A.09.03 9000/715)
To: Krause@btx.dtag.de
X-URL: news:49osoi$l3p@news00.btx.dtag.de