AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C++ Funktion aus DLL exportieren

Ein Thema von SirThornberry · begonnen am 7. Mai 2006 · letzter Beitrag vom 14. Mai 2006
Antwort Antwort
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

C++ Funktion aus DLL exportieren

  Alt 7. Mai 2006, 09:57
Hallo,

ich bin grad bei meinen ersten Gehversuchen mit DLL's in C++.
Ich versuche wie folgt eine funktion aus einer DLL zu exportieren:
Code:
//Export-Anweisung
__declspec(dllexport) __stdcall int Test();

//Die Funktion selbst
int __stdcall Test()
{
  ShowMessage("Es scheint zu funzn.");
  return 5;
}
Leider wird die Funktion mit dem Namen "@Test$qqsv" exportiert und nicht mit dem Namen "Test".
Woran liegt das bzw. wie kann ich das ändern? Irgendwo hab ich auch gelesen das es zum exportieren auch noch eine Variante mit einer .DEF - Datei gibt. Allerdings fehlen mir dort komplett die Anhaltspunkte wie es damit funktioniert. Außerdem muss/sollte es ja auch mit der obigen Methode funktionieren.

[Edit]
Nach längerem frustrierten Suchen hab ich die Lösung gefunden:
Code:
extern "C" __declspec(dllexport) __stdcall int Test();
durch das vorranstellen von <extern "C"> wird der Exportname nicht decoriert.
[/Edit]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: C++ Funktion aus DLL exportieren

  Alt 14. Mai 2006, 12:46
Erzeuge eine DEF-Datei in der du die Namen der zu exportierenden Funktionen dem Linker mitteilst. Dann sollte der Linker kapieren, daß er kein Name-Mangling anwenden soll.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz