Forum: Mikrocontroller und Digitale Elektronik AVR Projekt C++ und ASM gemischt Problem


von Trist (Gast)


Lesenswert?

Hallo liebe Forenmitglieder,

Für ein kleines Projekt würde ich gerne ASM und C++ Source mischen. Als 
IDE benutze ich AVR Studio 6. Das Problem ist, dass der Compiler die 
externen Funktionen nicht findet und immer unknown Reference zurückgibt. 
Weiß jemand woran das liegen könnte und ob ich einen Fehler in der 
Deklaration hab.

Freue mich auf Antworten
Mfg
Trist

von Peter II (Gast)


Lesenswert?

wie hast du es denn genau gemacht? Wird dem linker das Object file mit 
übergeben?

von Mr. X (Gast)


Lesenswert?

Trist schrieb:
> ob ich einen Fehler in der Deklaration hab.

Das könnte wohl sein. Wie sieht die denn bei dir aus?

von Dr. Sommer (Gast)


Lesenswert?

Trist schrieb:
> ob ich einen Fehler in der
> Deklaration hab.
Wahrscheinlich ja, in Zeile 42.

von Trist (Gast)


Angehängte Dateien:

Lesenswert?

Ich wollte eigentlich schon im ersten Post das kleine Testprojekt 
anhängen. Ist irgendwie schiefgegangen

von Dr. Sommer (Gast)


Lesenswert?

Geht doch. "extern" alleine hat keine Wirkung, das kann weg. Du musst
1
extern "C" void Funktion();
 schreiben sonst "dekoriert" der C++ Compiler den Namen mit 
Typinformationen und findet die Funktion nicht unter diesem Namen.

von Peter II (Gast)


Lesenswert?

du verwendest C++. Da musst du die Funktion als Extern "C" deklarieren. 
Das Extern wie du es geschrieben hast ist bei C auch nicht notwendig. 
Macht man nur bei variablen.

von Trist (Gast)


Lesenswert?

Vielen Dank :D Funktioniert jetzt alles einwandfrei

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.