kostenloser Webspace werbefrei: lima-city


DLL mit Abhängigkeiten erstellen

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    mucho

    mucho hat kostenlosen Webspace.

    Moin,

    ich bin mit Java "aufgewachsen" und bin leider momentan gezwungen aus Performancegründen einige Sachen in C/C++ zu schreiben.

    Ich baue zur Zeit eine DLL mit Visual Studio 2010 und möchte gern dass die "Third-party"-DLLs, die mein Code verwendet mit in diese eine DLL integriert werden. Quasi wie bei Java eine ausführebare .jar Datei, die alle verwendeten fremden .jar Archive enthält.

    Sodass ich am Ende halt wirklich nur diese eine DLL habe. Ist das generell möglich? Und wenn ja, wie/wo verklicker ich Visual Studio, welche DLLs es mit einbinden soll und welche nicht (kernel32.dll sollte ja z.B. nicht mit hinein).

    Hoffe jemand hat ja ne Idee.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo mucho,

    was Du vor hast geht im Normalfall nicht. Falls Du den Code der Third-Party-Dlls hast, dann sollte es möglich sein die erstellten Object-Files an Stelle der DLL-Lib zu verlinken. Aber dafür musst Du dann evtl. den Code modifizieren und das Build-Target auf 'statische Bibliothek' umstellen. Wenn Du den Code nicht hast, dann kannst Du schauen, ob es von den Third-Party-Dlls auch statische Bibliotheken gibt, welche man statt der Dlls verwenden kann.
    Und genau genommen geht das in Java auch nicht, weil ein Jar-Archiv ja nichts anderes als ein Zip-Archiv ist. Was Du vor hast würde in Java bedeuten z.B. aus zwei Bean-Class-Dateien eine zu bauen. Und das geht auch dort nicht.
  4. @darkpandemic:
    Er will im Java Kontext ja nur alle Classdateien in einer jar Datei haben und das geht, solange die nicht dieselben Namen verwenden.
    Genauso möchte er einfach nur alle Klassen Funktionen etc. in einer DLL haben.

    @mucho:
    Das geht aber in der Tat nicht so einfach, da es hier vor allem um richtigen binären Code geht und nicht nur Bytecode der direkt in Klassen etc. eingepackt ist.
    Wieso willst du das überhaupt in nur eine zusammenfassen?
  5. Also für mich klingt das nach klassischem statischen Linken.
    Das geht natürlich nur, wenn es statt der DLL auch noch eine statische Version gibt.
    Was für Bibliotheken willst du denn einbinden?
    Alternativ könnte man versuchen die DLL als Ressource mit in die exe zu packen.
    Das ist allerdings nur eine Vermutung und ich wüsste nicht, wie das geht.

    Beitrag zuletzt geändert: 22.7.2011 11:50:05 von sektor
  6. Ich denke er will einfach alle Funktionen und Klassen in einer DLL sammeln.
    Das Problem dabei ist, dass man, um die anderen DLLs nicht mehr zu benötigen, den Quellcode der DLLs braucht...
    Wenn du den Quellcode von den DLLs hast, dann kannst du ihn in eine DLL packen, ansonsten ist dein Vorhaben, ich will nicht sagen unmöglich, aber zu lim( p->100% ) nicht möglich.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!