2017-12-06 3 views
2

Eine der Legacy-Anwendung, die in 2010 Visual Studio (native Anwendung) zu bauen, muss ein Upgrade der DLL sein, die in Visual Studio 15, ist das möglich?Binär-Kompatibilität in 2015 Visual Studio

+0

Es hängt davon ab. Ändern Sie die Reihenfolge der Funktionen in der DLL? Oder entfernen Sie irgendwelche Funktionen aus der DLL? Oder ändern Sie die Schnittstelle (z. B. Funktionssignaturen)? Wenn die Reihenfolge von allem gleich ist und nichts entfernt wird und sich keine existierende Funktionssignatur ändert, dann sollte es gut funktionieren. –

+0

@some: Reihenfolge ist irrelevant. Die Verknüpfung erfolgt anhand des Namens. – MSalters

Antwort

0

Wenn die Schnittstelle Typen aus der C++ - Standardbibliothek verwendet, wie std::string, ist es unwahrscheinlich, dass sie funktioniert. Diese Typen stammen im Allgemeinen aus der C++ - Laufzeit, und die beiden Versionen haben unterschiedliche Laufzeitbibliotheken.

Wenn die Schnittstelle LPCSTR verwendet, kann die Implementierung beliebige Zeichenfolge-Bibliothek verwendet intern (Standard, Qt, etc.)

+0

Ja, sogar ich habe denselben Zweifel, glücklicherweise funktioniert diese bestimmte DLL gut ohne irgendein Problem. –