Article View: de.comp.lang.c++
Article #1295Re: Frage zu Assembler in C++
From: Karl-Heinz Krause
Date: Mon, 15 Jan 1996 18:14
Date: Mon, 15 Jan 1996 18:14
44 lines
1648 bytes
1648 bytes
Am 12. Jan. 1996 schrieb ILT-Benutzer (user@ilt.fhg.de):
> Nun muss ich aber auch das ganze umgekehrt haben, d.h. das Assemblermodul
> soll eine C++ Funktion aufrufen.
> Ich habe ausprobiert:
> Im C++ Modul:
> --------------------------------------
> ..
> void CProzedur()
> {
> ...
> }
> ..
> --------------------------------------
> und im Assemblermodul:
> --------------------------------------
> ..
> extrn _CProzedur:far
> ..
> ..
> call _CProzedur ; die CRoutine aufrufen
> --------------------------------------
> Dieses funktioniert fuer einfache C Module ohne Probleme.
> Sobald ich aber diesen Schalter Options|Compiler|C++options auf
> CPP always stelle (was ich muss) geht's nicht mehr.
> Ich muss also dem Assembler irgendwie mitteilen, dass es sich
> um ein C++ Modul handelt. Hast jemand 'ne Ahnung wie das gemacht wird ?
Die Antwort ist sehr einfach: Auch in diesem Fall muß die Funktion im
C++-Modul als extern "C" deklariert werden.
// C++-Modul:
extern "C" void CProzedur()
{
...
}
Der Assemblermodul bleibt unverändert.
Karl-Heinz Krause
Technical Details
Message-ID:
<4de5hb$f0i@news00.btx.dtag.de>Path:
arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mailReferences:
<4d5mgp$8k0@news.rwth-aachen.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail From: Krause@t-online.de (Karl-Heinz Krause) Newsgroups: de.comp.lang.c++ Subject: Re: Frage zu Assembler in C++ Date: 15 Jan 1996 18:14:03 GMT Organization: Telekom Online Internet Gateway Message-ID: <4de5hb$f0i@news00.btx.dtag.de> References: <4d5mgp$8k0@news.rwth-aachen.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Sender: 0913148778-0001@t-online.de (Karl-Heinz Krause) X-Newsreader: Forte Free Agent 1.0.82