Article View: de.comp.lang.c++
Article #952Re: C und C++
From: Jens Ittel [ET]
Date: Tue, 05 Dec 1995 12:48
Date: Tue, 05 Dec 1995 12:48
43 lines
1676 bytes
1676 bytes
J. Jager wrote:
> 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).
Wenn man aus C++ eine C Funktion Aufrufen will, so muss man diese
als extern "C" deklarieren. Ein kleines Beispiel:
-------------- C-Programm: c.c -----------------------------------
#include <stdio.h>
extern int cc_fkt(int z);
#define ZAHL 5
main()
{
printf("\n%d^2=%d\n",ZAHL,cc_fkt(ZAHL));
}
-------------------------------------------------------------------
------------- C++-Programm: cc.cc ---------------------------------
extern "C" int cc_fkt(int z);
int cc_fkt(int z)
{
return z*z;
}
-------------------------------------------------------------------
Uebersetzen mit gcc cc.cc c.c.
Falls Du die Deklaration von cc_fkt() nicht aendern kannst, so musst
Du wohl eine C++ Funktion in obigem Stil schreiben, die die eigentliche
Funktion kapselt (wie bei einem Methodenaufruf aus C heraus).
Tschau
Jens
Technical Details
Message-ID:
<30C43FB5.41C6@student.uni-kl.de>Path:
arc1-ca.pugleaf.net!sun.rhrk.uni-kl.de!newsReferences:
<49kk48$7f9@zdi.informatik.uni-stuttgart.de>Show Full Headers
Complete Article Headers
Newsgroups: de.comp.lang.c++ Path: arc1-ca.pugleaf.net!sun.rhrk.uni-kl.de!news From: "Jens Ittel [ET]" <ittel@student.uni-kl.de> Subject: Re: C und C++ Content-Type: text/plain; charset=us-ascii Message-ID: <30C43FB5.41C6@student.uni-kl.de> Sender: news@rhrk.uni-kl.de Content-Transfer-Encoding: 7bit Organization: University of Kaiserslautern, Germany References: <49kk48$7f9@zdi.informatik.uni-stuttgart.de> Mime-Version: 1.0 Date: Tue, 5 Dec 1995 12:48:53 GMT X-Mailer: Mozilla 2.0b3 (X11; I; OSF1 V3.2 alpha)