<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[C++ Klassen in DLL]]></title><description><![CDATA[<p>Hallo !</p>
<p>Kurze Frage, kann man C++ Klassen in DLL's auslagern, so das man nur die Headerdatei includieren muss, und man dann einfach new Klasse erzeugen kann ?</p>
<p>Und wenn ja, wie realisiert man es, wenn man diese Klassen die in DLL's ausgelagert sind, vererben will?? Soviel ich weiß muss man ja Methoden einer Klasse, von der man vor hat sie zu vererben, mit dem Modifier virtual versehen.</p>
<p>Ich würde mir gerne Wrapperklassen für die WinApi machen, und diese gerne in DLL's auslagern.</p>
<p>Danke schon mal im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/214987/c-klassen-in-dll</link><generator>RSS for Node</generator><lastBuildDate>Thu, 18 Jun 2026 02:39:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/214987.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Jun 2008 09:56:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 09:56:57 GMT]]></title><description><![CDATA[<p>Hallo !</p>
<p>Kurze Frage, kann man C++ Klassen in DLL's auslagern, so das man nur die Headerdatei includieren muss, und man dann einfach new Klasse erzeugen kann ?</p>
<p>Und wenn ja, wie realisiert man es, wenn man diese Klassen die in DLL's ausgelagert sind, vererben will?? Soviel ich weiß muss man ja Methoden einer Klasse, von der man vor hat sie zu vererben, mit dem Modifier virtual versehen.</p>
<p>Ich würde mir gerne Wrapperklassen für die WinApi machen, und diese gerne in DLL's auslagern.</p>
<p>Danke schon mal im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523109</guid><dc:creator><![CDATA[Donnerstag]]></dc:creator><pubDate>Thu, 05 Jun 2008 09:56:57 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 10:46:09 GMT]]></title><description><![CDATA[<p>Ich würde nur über Interfaces und Basistypen über DLL Grenzen hinweg kommunizieren. D.h. also keine Klassen exportieren.</p>
<p>Schaue Dir mal die MSDN Doku zu dllexport, dllimport und *.def Files an.<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523147</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Thu, 05 Jun 2008 10:46:09 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 11:06:34 GMT]]></title><description><![CDATA[<p>Dachte schon dass das keine gute Idee ist, da ja C++ DLL's nur mit dem gleichen Compiler verwendet werden sollten.</p>
<p>Ich schau mal in der Doku, falls noch jemand Tipps hat wie man das am besten realisiert, bitte melden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523162</guid><dc:creator><![CDATA[Donnerstag]]></dc:creator><pubDate>Thu, 05 Jun 2008 11:06:34 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 11:39:36 GMT]]></title><description><![CDATA[<p>Da komme ich jetzt nicht ganz mit. Warum sollte man keine Klassen in eine DLL schieben?</p>
<p>Ich habe in mein Programm ein Network &quot;Modul&quot; eingebaut.</p>
<pre><code class="language-cpp">class CNetwork 
{
public:
  CNetwork();
  ~CNetwork();
/* usw */
};

class CHttp : public CNetwork
{
/* usw. */
};
</code></pre>
<p>Warum ist das falsch komplexe Sachen in eine DLL aus zu lagern? Oder verstehe ich da was falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523190</guid><dc:creator><![CDATA[jd]]></dc:creator><pubDate>Thu, 05 Jun 2008 11:39:36 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 11:51:46 GMT]]></title><description><![CDATA[<p>Ich kenne mich mit DLL's (mit C++) nicht wirklich aus, deswegen kann ich dir nicht viel mehr sagen, außer das ich gelesen habe, dass C++ DLL's nur mit dem Compiler verwendet werden sollten, mit welchem sie auch erstellt wurden, ob das stimmt oder nícht weiß ich nicht (würde mich auch interessieren).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523206</guid><dc:creator><![CDATA[Donnerstag]]></dc:creator><pubDate>Thu, 05 Jun 2008 11:51:46 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 11:57:20 GMT]]></title><description><![CDATA[<p>Also das kann ich nicht bestätigen. Meine DLLs werden mit MinGW erstellt, laufen dann aber auch mit VS-Compiler. Wäre ja irgendwie Käse wenn das nicht gehen würde. Ich meine du kannst ja nicht riechen mit was die DLL kompiliert wurde, von daher würde ich jetzt mal sagen das es da allgemein keine Probleme gibt, bzw ich hatte noch nie eins.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523214</guid><dc:creator><![CDATA[jd]]></dc:creator><pubDate>Thu, 05 Jun 2008 11:57:20 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 12:07:25 GMT]]></title><description><![CDATA[<p>Es ist &quot;gefaehrlich&quot; ^^ zumindest unter windows.</p>
<p>Klar kann man es machen, wenn man beide seiten, also die exe und die dll unter controlle hat. MS bietet sowas ja an, MFC erweiterungs Dlls etc.</p>
<p>Wo man ganz schnell davon weggehen sollt, ist wenn exe und dlls auf unterschiedliche Programmierer,Abteilungen, oder gar Firmen aufgeteilt werden. weil wie oben erwaeht, nur bei C die Symbole 100% definiert sind.<br />
C++ Symbole, also klassenmethoden etc, werden zwar auf C Symbolen abgebildet, aber die Hersteller haben volle freiheit wie sie die namen generieren (name mergling) und die parameter ausrichten.<br />
Da gibts leider noch kein standard.</p>
<p>Prominentes beispiel, ist zum beispiel die QT ...<br />
die exportiert c++ symbole ueber ihre DLLs. will man den compiler, oder die version wechseln, muss man sich ne komplett neue Umgebung schaffen, also meist die komplette QT neu compilieren.<br />
Zentrale ablage der QT dlls nimmer moeglich ... Also muessen die dlls immer mit dem programm installiert werden, und der User hat tonnenweisse dlls aufn rechner ^^ Mit der QT3 haben wir deswegen schon viel spass gehabt, da haben sich die QT dlls ins system eingeklingt (system32) und damit andere versionen ueberschreiben. Man wunderte sich dann, warum ploetzlich andere programme nimmer laufen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>Warum eher windows als nen Linux Problem ?<br />
Unter linux gibts nen systemcompiler (gcc meist). wenn der ausgetauscht, wird eh alles neu installiert. und die meist nachtraeglich installierte software kommt als code und wird auf dem zielrechner installiert. da passt meist immer alles.</p>
<p>unter windwos isses ned so, da wird kaum code verteilt, sondern immer nur binaeries, da keiner weiss was fuer compiler die nehmen, sollte man als schnittstelle zu anderen programmen das groestmogliche gemeinsame nehmen, und das ist bei DLLs nun mal C ....</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523221</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Thu, 05 Jun 2008 12:07:25 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 12:06:30 GMT]]></title><description><![CDATA[<blockquote>
<p>Meine DLLs werden mit MinGW erstellt, laufen dann aber auch mit VS-Compiler</p>
</blockquote>
<p>Definitiv nicht ! sicher das da C++ Elemente im spiel sind (Klassen) ?<br />
Hier bei uns, klappt es schon mit normalen funktionen zwischen gcc(mingw) und VS 2005 ned, wenn die ned als &quot;extern C&quot; gekennzeichnet sind.</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523225</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Thu, 05 Jun 2008 12:06:30 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 12:16:13 GMT]]></title><description><![CDATA[<p>Tatsache... das geht wirklich nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> war mir sicher das dass geht... das ist ja mal doof. Sprich wenn ich mit gcc eine DLL mache, muss der, der mit der DLL arbeiten will, auch gcc verwenden... das ist ja doof.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523235</guid><dc:creator><![CDATA[jd]]></dc:creator><pubDate>Thu, 05 Jun 2008 12:16:13 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 12:29:19 GMT]]></title><description><![CDATA[<p>jd schrieb:</p>
<blockquote>
<p>Da komme ich jetzt nicht ganz mit. Warum sollte man keine Klassen in eine DLL schieben?</p>
<p>Ich habe in mein Programm ein Network &quot;Modul&quot; eingebaut.</p>
<pre><code class="language-cpp">class CNetwork 
{
public:
  CNetwork();
  ~CNetwork();
/* usw */
};

class CHttp : public CNetwork
{
/* usw. */
};
</code></pre>
<p>Warum ist das falsch komplexe Sachen in eine DLL aus zu lagern? Oder verstehe ich da was falsch?</p>
</blockquote>
<p>Ja, definitiv falsch verstanden.<br />
Auslagern wenn nötig ist ok. Jedoch Interface und Impl. gut trennen (via Bridge Pattern): Interface (nur pure virtual funtktionen) machen und factory zur verfügung stellen (via eine exportierte (C) Funktion).</p>
<p>In den Interfaces dann nur Basistypen verwenden, so werden die Abhängigkeiten von konkreten impl. vermieden.</p>
<p>So macht das übrigens COM.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523248</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Thu, 05 Jun 2008 12:29:19 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 12:39:02 GMT]]></title><description><![CDATA[<p>Wie sieht denn eine exportiere (C) Funktion aus?</p>
<p>Also mal allgemein betrachtet, sollte man eine DLL oder generell eine Bibliothek immer nach dem <a href="http://en.wikipedia.org/wiki/Bridge_pattern" rel="nofollow">Bridge Pattern</a> machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523257</guid><dc:creator><![CDATA[jd]]></dc:creator><pubDate>Thu, 05 Jun 2008 12:39:02 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Thu, 05 Jun 2008 13:19:34 GMT]]></title><description><![CDATA[<p>Ich finde das einen guten Ansatz.<br />
Hat sich bewährt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1523311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1523311</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Thu, 05 Jun 2008 13:19:34 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 07:29:41 GMT]]></title><description><![CDATA[<p>simon.gysi schrieb:</p>
<blockquote>
<p>Auslagern wenn nötig ist ok. Jedoch Interface und Impl. gut trennen (via Bridge Pattern): Interface (nur pure virtual funtktionen) machen und factory zur verfügung stellen (via eine exportierte (C) Funktion).</p>
<p>In den Interfaces dann nur Basistypen verwenden, so werden die Abhängigkeiten von konkreten impl. vermieden.</p>
</blockquote>
<p>Wie sieht es eigentlich in einer homogenen C++ Umgebung aus (Sowohl die Exe als auch die DLL's in eigener Hand und bei einem gleichen Compiler)? Ich habe mich selbst schon mit den Ansatz der rein virtuellen Funktionen (inkl. Basisdatentypen) beschäftigt, aber mich interessiert ob es in einer homogenen Umgebung auch mit komplexeren Typen geht?</p>
<p>Zudem würde mich interessieren wie die Freigabestrategie aussieht. Bei den damaligen Recherchen (binärkompatible C++ Interfaces) bin ich auch auf eine operatorüberladung (delete) zu der Klasse gestoßen (Als inline-Methode im Interface, das wiederum auf eine virtelle Destroymethode zurückgreift). Ist dies ein sauber gangbarer Weg (oder wiederspricht es dem Gedanken der rein virtuellen Schnittstelle, da die Operatorüberladung ja nicht virtuell ist).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538920</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 01 Jul 2008 07:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 07:59:15 GMT]]></title><description><![CDATA[<blockquote>
<p>Wie sieht es eigentlich in einer homogenen C++ Umgebung aus (Sowohl die Exe als auch die DLL's in eigener Hand und bei einem gleichen Compiler)?</p>
</blockquote>
<p>Das funktioniert einwandfrei. So mache ich es jetzt schon eine ganze Weile (verwende ueberall visual studio 2008) und habe noch keine Probleme gehabt (exportiere komplexe Klassen und importiere sie dann wieder im eigentlichen Programm).</p>
<p>Ich bezweifele auch, dass ich jemals auf Interfaces und Factories zurueckgreifen werden, da mir das sehr viel Aufwand erscheint.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538938</guid><dc:creator><![CDATA[outgelogged]]></dc:creator><pubDate>Tue, 01 Jul 2008 07:59:15 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 08:00:44 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Wie sieht es eigentlich in einer homogenen C++ Umgebung aus (Sowohl die Exe als auch die DLL's in eigener Hand und bei einem gleichen Compiler)? Ich habe mich selbst schon mit den Ansatz der rein virtuellen Funktionen (inkl. Basisdatentypen) beschäftigt, aber mich interessiert ob es in einer homogenen Umgebung auch mit komplexeren Typen geht?</p>
</blockquote>
<p>Machen wx, QT, Boost und viele andere seit Jahren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538941</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 01 Jul 2008 08:00:44 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 08:12:04 GMT]]></title><description><![CDATA[<p>Mal rein interessehalber, gibt es außer der Binärkompatibilität noch was zu beachten, wenn man C++ mit DLLs zusammenbringt? Wie sieht es mit Initialisierung und Aufräumen von statischen Objekten aus? Einschränkungen beim Speichermanagement oder bei Exceptions?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538947</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 01 Jul 2008 08:12:04 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 08:15:09 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>...Einschränkungen beim Speichermanagement oder bei Exceptions?</p>
</blockquote>
<p>Das ist ein guter Punkt. Exceptions über DLL-Grenzen in einer homogenen Umgebung, weil außerhalb einer homogenen Umgebung gilt ja die Regel: Niemals Exceptions über DLL-Grenzen werfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538951</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 01 Jul 2008 08:15:09 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 08:29:25 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Niemals Exceptions über DLL-Grenzen werfen.</p>
</blockquote>
<p>warum eigentlich nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538954</guid><dc:creator><![CDATA[Mojo.Zache]]></dc:creator><pubDate>Tue, 01 Jul 2008 08:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 08:33:57 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Bashar schrieb:</p>
<blockquote>
<p>...Einschränkungen beim Speichermanagement oder bei Exceptions?</p>
</blockquote>
<p>Das ist ein guter Punkt. Exceptions über DLL-Grenzen in einer homogenen Umgebung, weil außerhalb einer homogenen Umgebung gilt ja die Regel: Niemals Exceptions über DLL-Grenzen werfen.</p>
</blockquote>
<p>Exceptions kann man in einer homogenen Umgebung werfen und fangen. So zumindest bei mir, auch wenn ich das ganze nicht exzessiv betreibe..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538957</guid><dc:creator><![CDATA[outgelogged]]></dc:creator><pubDate>Tue, 01 Jul 2008 08:33:57 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 08:36:27 GMT]]></title><description><![CDATA[<p>Welchen Sinn/Vorteil habe ich dann noch mit DLLs? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Dann kann ich ja auch gleich statisch linken. Der einzige Vorteil den ich sehe, ist das die Build-Zeiten kürzer werden. Aber beim Deploy sehe ich soweit keinen nennenswerten Vorteil mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538958</guid><dc:creator><![CDATA[Gröhler]]></dc:creator><pubDate>Tue, 01 Jul 2008 08:36:27 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 08:59:52 GMT]]></title><description><![CDATA[<p>Gröhler schrieb:</p>
<blockquote>
<p>Der einzige Vorteil den ich sehe, ist das die Build-Zeiten kürzer werden. Aber beim Deploy sehe ich soweit keinen nennenswerten Vorteil mehr.</p>
</blockquote>
<p>Wie wäre es den schlicht und ergreifend mit Softwaremodulen die eine Kundenabhängige Implementation benötigen? (Eine DLL mit der Standardlösung, und jeweils eine weitere falls es Kundenspezifisch Abweichungen gibt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538975</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 01 Jul 2008 08:59:52 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 09:03:51 GMT]]></title><description><![CDATA[<p>Man kann auch statische LIB-Dateien an den Kunden weiter geben. Der linkt diese halt.</p>
<p>Und wenn es ein Kunde ist, der kein Coder ist (weil Endanwender), dann gib ich ihm eh ein fertiges EXE-Packet (der wird dann auch nicht wissen, was er mit ner einzelnen DLL anfangen soll).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538977</guid><dc:creator><![CDATA[Gröhler]]></dc:creator><pubDate>Tue, 01 Jul 2008 09:03:51 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 09:05:48 GMT]]></title><description><![CDATA[<p>Gröhler schrieb:</p>
<blockquote>
<p>Welchen Sinn/Vorteil habe ich dann noch mit DLLs?</p>
</blockquote>
<p>Plug-ins.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538978</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 01 Jul 2008 09:05:48 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 09:07:44 GMT]]></title><description><![CDATA[<p>Gröhler schrieb:</p>
<blockquote>
<p>Welchen Sinn/Vorteil habe ich dann noch mit DLLs? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Dann kann ich ja auch gleich statisch linken. Der einzige Vorteil den ich sehe, ist das die Build-Zeiten kürzer werden. Aber beim Deploy sehe ich soweit keinen nennenswerten Vorteil mehr.</p>
</blockquote>
<p>Du brauchst nur die Dll auszutauschen, wenn darin ein Fehler behoben wurde. Ausserdem kann sie von mehreren Programmen/Dlls geladen werden und belegt nur einmal Speicher.<br />
Irgendwo wuerden hier mal eine Menge Argumente fuer und gegen Dlls genannt, diese treffen ja ansich noch zu, werden nur in ihrer Anwendung etwas eingeschraenkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538982</guid><dc:creator><![CDATA[outgelogged]]></dc:creator><pubDate>Tue, 01 Jul 2008 09:07:44 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 09:36:21 GMT]]></title><description><![CDATA[<p>outgelogged schrieb:</p>
<blockquote>
<p>Du brauchst nur die Dll auszutauschen, wenn darin ein Fehler behoben wurde. Ausserdem kann sie von mehreren Programmen/Dlls geladen werden und belegt nur einmal Speicher.</p>
</blockquote>
<p>Schön und gut. Diese Argumente, auch mit den Plugins, sind mir bekannt. Nur finde ich, werden die Argumente nichtig, wenn ich das ganze nur mit einer bestimmten Compiler-Version (teilweise sogar einer CRT-Version!) machen kann.</p>
<p>Generell sind die DLL-Argumente ja schön, solange... na, ihr wisst schon. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538993</guid><dc:creator><![CDATA[Gröhler]]></dc:creator><pubDate>Tue, 01 Jul 2008 09:36:21 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Klassen in DLL on Tue, 01 Jul 2008 09:43:52 GMT]]></title><description><![CDATA[<p>Gröhler schrieb:</p>
<blockquote>
<p>Schön und gut. Diese Argumente, auch mit den Plugins, sind mir bekannt. Nur finde ich, werden die Argumente nichtig, wenn ich das ganze nur mit einer bestimmten Compiler-Version (teilweise sogar einer CRT-Version!) machen kann.</p>
</blockquote>
<p>Okay, nehmen wir noch einen weiteren Fall an. Dein Programm arbeitet mit 2 grundverschiedenen Datenbankstrategien die je nach Installationsauswahl aktiv sein sollen (Die eine Transaktionsgestüzt auf Datenbank A, die andere ohne Transaktionen auf Datenbank B. Variante A soll in Zukunft die bevorzugte Variante sein, der Anwender kann sich bei der Installation aber aussuchen ob er mit einer richtigen Datenbank, oder einer Filebasierten Lösung arbeitet).</p>
<p>Wie würdest du das statisch gelinkt lösen? Zudem: Wenn ein Fehler in einer der beiden Varianten vorhanden ist, muss nur dessen Update geladen werden.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538996</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 01 Jul 2008 09:43:52 GMT</pubDate></item></channel></rss>