OK ..... Ich habe die ganze Lesung zu verwandten Fragen und ein paar MSDN-Artikel und über einen Tag im Wert von googeln getan.DLLs und STLs und statische Daten (oh mein!)
Was auf diese Frage der aktuellen „Stand der Technik“ Antwort ist:
ich VS 2008, C++ nicht verwalteten Code verwenden. Ich habe eine Lösungsdatei mit ziemlich vielen DLLs und ziemlich vielen EXEs. Solange ich die Build-Umgebung vollständig kontrolliere, so dass alle Teile und Teile mit denselben Flags erstellt werden und dieselben Laufzeitbibliotheken verwenden und niemand über eine statisch verknüpfte CRT-Bibliothek verfügt, bin ich ok, um STL-Objekte herumzugeben?
Es scheint, als sollte dies in Ordnung sein, aber je nachdem, welchen Artikel Sie lesen, gibt es eine Menge Angst, Unsicherheit und Zweifel.
Ich weiß, es gibt alle möglichen Probleme mit Vorlagen, die statische Daten hinter den Kulissen erzeugen (jede DLL würde ihre eigene Kopie bekommen, was zu Herzschmerz führen würde), aber was ist mit normalen alten STL?
Beachten Sie, wie die VS STL-Headerdateien schreibbar werden; ein zufälliger Tastendruck in einer solchen Header-Datei, und Ihr System unterscheidet sich von allen anderen! Ich teile die Sorge ... – xtofl