Frage

Ich habe eine Reihe gemeinsamer Module aufgebaut, die ich bisher in einem Verzeichnis aufbewahrt habe und aus den Projektverzeichnissen, die sie benötigen, bezogen.

Ich habe mich gefragt, ob es eine bessere Möglichkeit gab, dies zu tun.

Sowohl die üblichen Module als auch der Code, der sie verwendet, sind in C ++ geschrieben.

War es hilfreich?

Lösung

Ich würde empfehlen, eine statische Bibliothek zu erstellen und damit zu verknüpfen. Es ist viel einfacher als eine DLL, Sie müssen sich keine Sorgen um die Versionierung machen, und rundum arbeiten Sie mit ihnen, wie Sie es mit Ihren gemeinsamen Modulen tun würden.

Bearbeiten: Grundsätzlich ist eine statische Bibliothek eine Sammlung von Objektdateien. Wenn Sie mit Visual Studio arbeiten, können Sie ein statisches Bibliotheksprojekt erstellen (oder den Ausgangstyp Ihres Projekts ändern), das eine .lib -Datei erstellt, die Sie in Ihrer Anwendung verlinken können. Wenn Sie GCC verwenden, können Sie "AR" verwenden, um die Bibliotheksdatei aus einer Reihe von .o -Dateien zu erstellen und sie erneut mit Ihrer Anwendung zu verknüpfen.

Andere Tipps

Die Verwaltung und Verbesserung Ihrer privaten Tools ist für einen Programmierer eine wichtige Sache. Ich persönlich entscheide mich immer für den Ansatz "so schnell wie möglich wie möglich".

Je schneller sie miteinander verbunden sind und in meine Arbeit aufgenommen werden, desto früher fühle ich mich "zu Hause". Ich werfe manchmal sogar alle Ordnung weg und schalte sie in die Standardbibliothek und schließe Wege ein, und Whoopie, dort sind sie zu Ihrem Dienst. (Ich würde das natürlich nicht wirklich empfehlen, aber es ist schnell einfach)

Ich weiß nicht, warum Sie DLLs verwenden, da eine normale Bibliothek weniger Kopfschmerzen einbeziehen würde.

Tipp: Machen Sie ein separates Projekt aus ihnen. Haben Sie sie an einem zentralen logischen Ort. (Vielleicht myWorkspace/mylibs) Da Ihr Toolset mit jedem Projekt, an dem Sie arbeiten, wahrscheinlich wachsen/verändert/verbessert, habe ich manchmal meine Arbeitsumgebung eingerichtet, um schnell umzuschalten, etwas hinzuzufügen und dann zum ursprünglichen Projekt zurückzukehren. In diesem Fall ist es nützlich, es als Projektabhängigkeit in Ihre IDE aufzunehmen, die automatisch erstellt und dann neu verknüpft werden kann. Dies ist trivial mit fast allen Ideen.

Ein anderes Problem sind jedoch Arbeitgeber. Sie sind normalerweise vorsichtig mit Dingen, die Sie in ihre Projekte übertragen. Vor allem, wenn Sie die Quelle für sie schließen möchten. Aber das ist eine Geschichte für eine andere Frage;)

Ich mag es, sie in eine DLL zu stellen, damit die Größe meiner ausführbaren Datei weniger wird.

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