🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: C und C++

#924
From: Oliver Rebach
Date: Fri, 01 Dec 1995 07:29
35 lines
1627 bytes
Moin, moin,

In article <49kk48$7f9@zdi.informatik.uni-stuttgart.de>, "J. Jager" <jager> writes:
|> 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). 
|> 
|> Wuerde mich freuen, wenn mir helfen koennte.
|> 
|>  Isi
|> 

C++-Compiler 'verstecken' in dem Sybolnamen, der dem Linker uebergeben wird,
noch Info ueber Klassen und Parameter (sonst waere ein ueberladen nicht
moeglich) durch das sogenannte "Namemangling". Da C-Compiler diese nicht
tun, werden andere Symbole referenziert.
Loesung: entweder das C-Programm mit einem C++-Compiler uebersetzen (geht
nicht immer), oder die betreffende Funktion in der .h und .c Datei als
C-Funktion kennzeichnen:

extern C {
	void foo_bar() ;
}

Tschuess
Oliver

-- 
Oliver.Rebach@UniBw-Hamburg.DE
Institut fuer Konstruktions- und Fertigungstechnik - CAD-Labor

Win95: der groesste Fortschritt seid der Erfindung der 
rostfreien Bratkartoffel in der Tube!
Technical Details
Message-ID: <49mas1$hr6@rzsun02.rrz.uni-hamburg.de>
Path: arc1-ca.pugleaf.net!news.rrz.uni-hamburg.de!balu!m_rebach
References: <49kk48$7f9@zdi.informatik.uni-stuttgart.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.rrz.uni-hamburg.de!balu!m_rebach
From: m_rebach@balu.unibw-hamburg.de (Oliver Rebach)
Newsgroups: de.comp.lang.c++
Subject: Re: C und C++
Date: 1 Dec 1995 07:29:05 GMT
Organization: University of Federal Armed Forces, Hamburg
Sender: m_rebach@balu (Oliver Rebach)
Distribution: world
Message-ID: <49mas1$hr6@rzsun02.rrz.uni-hamburg.de>
References: <49kk48$7f9@zdi.informatik.uni-stuttgart.de>
NNTP-Posting-Host: balu.unibw-hamburg.de