Frage

In meiner Firma verwenden wir .def Dateien, die Symbole angeben, die exportiert werden müssen. (Ich wünschte, ich eine modernere und automatisierte Technik nutzen konnten leider die Jungs, die Live-zurück in den achtziger Jahren entscheiden).

Schreiben eine .def Datei von Hand, mit dem manuellen Copy-Paste wird langweilig und fehleranfällig, aber bisher kann ich damit leben.

Ich brauche aber eine ähnliche .def-Datei für die 64-Bit-Version der DLL zu schreiben. Der Name Dekoration von mehreren Funktion geändert und ich frage mich, ob es einen Weg gibt eine .def-Datei für die 64-Bit-Version von der 32-Bit-Version.

zu erzeugen,

Sind Sie sich bewusst von Werkzeug, das mir helfen könnte? Ist das überhaupt realistisch? Ich fühle mich nicht wirklich, wie ich es von Hand noch einmal tun will. Jede Lösung, auch eine, die mein eigenes Werkzeug beinhaltet Codierung, ist willkommen.

Danke.

War es hilfreich?

Lösung

Ich würde wahrscheinlich __declspec (dllexport) die Symbole Ich wollte, kompilieren und dann dumpbin / export auf der resultierende DLL ausführen, um die verstümmelten Namen zu bekommen, und dann können Sie das __declspec entfernen und eine DEF-Datei machen.

Andere Tipps

Sagen Sie Ihrem Chef zu den 80er Jahren zurückgehen. Im Ernst, ist dies Exportsymbolnamen nicht eine tragbare Art und Weise. Was passiert, wenn der C ++ Compiler den Namen Schema Mangeln ändert? Dann würden Sie haben, dies zu tun (was jcopenha sagte) alle immer wieder. Was passiert, wenn Sie nicht dort arbeiten, wenn es passiert? Ist eine andere arme Seele wertvolle Zeit verbringen, gehen zu müssen, um herauszufinden, was und wie es zu tun? Ich würde versuchen, den Chef zu verwenden __declspec(dllexport) zu überzeugen. Es wird Zeit, und möglicherweise in der Zukunft speichern.

Ich gehe davon aus Sie exportieren, Klassen und überladene Funktionen. Wenn Sie nicht sind, dann würde ich stattdessen die Funktionen mit C Namen exportieren. Diese Namen sind nicht verstümmelt, und wird sich nicht ändern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top