<?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[Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen]]></title><description><![CDATA[<p>Hallo alleseits!</p>
<p>Ich habe für mein aktuelles Projekt eine Frage: Kann ich aus einer DLL, die ich dynamisch einbinde heraus wiederum Funktionen aus meinem aufrufendem Programm verwenden? D.h. ich habe ein Programm test.exe und eine DLL test.dll. Nun lade ich in test.exe die test.dll, rufe in test.dll eine Funktion auf und diese Funktion wiederum ruft eine (oder mehrere) Funktionen aus test.exe auf.</p>
<p>Das sowas geht stelle ich ausser Frage, meine Frage ist nur wie? Wie kriege ich die Adressen für die Funktionen aus test.exe in test.dll heraus, bzw. gibt es auch eine einfachere Möglichkeit?</p>
<p>Hat da jemand eine Idee oder Erfahrung??</p>
<p>Vielen Dank!</p>
<p>~code_pilot</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190353/frage-zu-dll-gegenseitige-bereitstellung-von-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 23:57:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190353.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Aug 2007 21:34:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Tue, 21 Aug 2007 21:34:37 GMT]]></title><description><![CDATA[<p>Hallo alleseits!</p>
<p>Ich habe für mein aktuelles Projekt eine Frage: Kann ich aus einer DLL, die ich dynamisch einbinde heraus wiederum Funktionen aus meinem aufrufendem Programm verwenden? D.h. ich habe ein Programm test.exe und eine DLL test.dll. Nun lade ich in test.exe die test.dll, rufe in test.dll eine Funktion auf und diese Funktion wiederum ruft eine (oder mehrere) Funktionen aus test.exe auf.</p>
<p>Das sowas geht stelle ich ausser Frage, meine Frage ist nur wie? Wie kriege ich die Adressen für die Funktionen aus test.exe in test.dll heraus, bzw. gibt es auch eine einfachere Möglichkeit?</p>
<p>Hat da jemand eine Idee oder Erfahrung??</p>
<p>Vielen Dank!</p>
<p>~code_pilot</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349359</guid><dc:creator><![CDATA[code_pilot]]></dc:creator><pubDate>Tue, 21 Aug 2007 21:34:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Tue, 21 Aug 2007 21:38:43 GMT]]></title><description><![CDATA[<p>Ich glaub das geht gar nicht <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="😕"
    /> Soweit ich weiß, können (zur Laufzeit) nur DLLs ausführbaren Code anbieten..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349360</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Tue, 21 Aug 2007 21:38:43 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Tue, 21 Aug 2007 21:42:14 GMT]]></title><description><![CDATA[<p>exe dateien können auch funktionen exportieren... die frage is halt ob sich die funktionen aufrufen lassen<br />
ich hab das zwar noch nie versucht aber probiers mal so</p>
<p>-exportier ein paar funktionen aus der exe wie dus auch aus der dll machst<br />
-übergeb die adressen der funktionen als parameter von der exe an die dll</p>
<p>könnte funktionieren... warum auch immer man sowas machen sollte <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>
<p>und sag bescheid obs klappt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349363</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 21 Aug 2007 21:42:14 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Tue, 21 Aug 2007 22:46:47 GMT]]></title><description><![CDATA[<p>na klar kann exe auch funktion exportieren. exe und dll sind genau das gleiche, nur ein paar andere flags im pe header</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349398</guid><dc:creator><![CDATA[ringelnatter]]></dc:creator><pubDate>Tue, 21 Aug 2007 22:46:47 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 05:45:27 GMT]]></title><description><![CDATA[<p>mir is noch was eingefallen</p>
<p>probiers mal damit in der dll: <a href="http://msdn2.microsoft.com/en-us/library/ms683199.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms683199.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349469</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 22 Aug 2007 05:45:27 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 06:21:21 GMT]]></title><description><![CDATA[<p>Das ist sicherlich möglich. Callbacks sind ja nichts anders<br />
Übergib an die DLL mit einer Funktion einen Zieger auf eine Funktionin der EXE. Die DLL kann nun diese Funktion aufrufen.</p>
<p>Nichst anderes gescheiht mit Fensterfunktionen. Hier wird der Zeiger aus der EXE in einer Klasse gespeichert (WndProc) und ann Windows übergeben. DIese Funktion wird dann brav aufgerufen. Das OS ist auch nichts anderes als eine gigantische DLL (mit ein bischen mehr... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    />).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349477</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 22 Aug 2007 06:21:21 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 06:29:36 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>DÜbergib an die DLL mit einer Funktion einen Zieger auf eine Funktionin der EXE.</p>
</blockquote>
<p>das hab ich schon vorgeschlagen aber is das wirklich nötig?</p>
<p>kann man nich direkt mit GetModuleHandle und GetProcAddress arbeiten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349481</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 22 Aug 2007 06:29:36 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 07:36:35 GMT]]></title><description><![CDATA[<p>Mal ne ganz doofe Frage (bzw. mehrere): kann eine .EXE Funktionen exportieren?<br />
Und kann man die dann in einer DLL importieren die in diesen Prozess geladen wird? <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="🙂"
    /><br />
Und wenn ja, geht das nur dynamisch oder auch statisch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349516</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 22 Aug 2007 07:36:35 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 07:47:00 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>kann eine .EXE Funktionen exportieren?</p>
</blockquote>
<p>Klar.</p>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Und kann man die dann in einer DLL importieren die in diesen Prozess geladen wird? <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>
</blockquote>
<p>Wenn Du mit 'diesem Prozess' den Prozess der .exe meinst, in dem die eigentlichen Funktionen liegen, ja sollte möglich sein. BTW: Mit importieren, meinst Du aufrufen bzw. mit der Funktionsadresse 'arbeiten', oder?</p>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Und wenn ja, geht das nur dynamisch oder auch statisch?</p>
</blockquote>
<p>Denke statisch geht das nicht, da ich nicht wüsste wie man ne Exe statisch linken soll. Hab sowas allerdings auch noch nicht gemacht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> .</p>
<p>Jetzt eine (kleine) Frage: Wozu sowas <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349529</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 22 Aug 2007 07:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 09:45:05 GMT]]></title><description><![CDATA[<p>Es ist möglich über eine DEF Datei Funktionen zu exportieren.<br />
Ich denke es müsste sogar möglich sein statisch zu linken, sofern die EXE Datei bereits im Prozess geladen ist. Eine Lib-Datei zu erzeugen ist ja nur eine zusätzliche Linker Funktion.</p>
<p>Mit Sicherheit kann der Lader keine EXE in den aktuellen Prozess laden in der bereits eine EXE läuft. Die Mechanismen die das erlauben wie DllMain fehlen dieser ja.</p>
<p>Aber ich sehe auch keinen großenSinn.<br />
Ich sehe nicht mal einen Sinn für GetProcAddress, wen die Exe selber Callbacks in der DLL definieren kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349652</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 22 Aug 2007 09:45:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 10:57:15 GMT]]></title><description><![CDATA[<p>Ist auch mehr eine theoretische Frage. Mich interessiert halt was möglich ist <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/1349694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349694</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 22 Aug 2007 10:57:15 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 11:41:41 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Mit Sicherheit kann der Lader keine EXE in den aktuellen Prozess laden in der bereits eine EXE läuft. Die Mechanismen die das erlauben wie DllMain fehlen dieser ja.</p>
</blockquote>
<p>was redest du denn da? was meinst du damit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349724</guid><dc:creator><![CDATA[noobi]]></dc:creator><pubDate>Wed, 22 Aug 2007 11:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 11:42:47 GMT]]></title><description><![CDATA[<p>wenn die exe ne andere base adresse als die exe vom prozess hat, wieso soll er die ned laden können? oder was meinst du jetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349727</guid><dc:creator><![CDATA[noobi]]></dc:creator><pubDate>Wed, 22 Aug 2007 11:42:47 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 11:59:46 GMT]]></title><description><![CDATA[<p>noobi schrieb:</p>
<blockquote>
<p>Martin Richter schrieb:</p>
<blockquote>
<p>Mit Sicherheit kann der Lader keine EXE in den aktuellen Prozess laden in der bereits eine EXE läuft. Die Mechanismen die das erlauben wie DllMain fehlen dieser ja.</p>
</blockquote>
<p>was redest du denn da? was meinst du damit?</p>
</blockquote>
<p>Dein Ton gefällt mir nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
<p>Es kommt nicht auf die Basisadresse an.<br />
Das Problem ist, dass das Laden einer DLL etweas anderes ist als das Laden eines Prozesses.<br />
Bei einem Prozess wird ein neuer Thread gestartet, dieser erhält die Kontrolle und führt dann den Code aus, der durch den Linker als Einsprungspunkt definiert wurde.</p>
<p>Was soll denn bitte passieren, wenn man LoadLibrary auf eine EXE ausführt? Eine DllMain hat er natürlich nicht. Wer sollte die Initialisierung durchführen, sollte einer zusätzlicher Thread gestartet werden..., wer kontrolliert diesen...</p>
<p>Eine Exe kann als Ressource in den aktuellen/bestehenden Prozess geladen werden (LoadLibraryEx LOAD_LIBRARY_AS_IMAGE_RESOURCE), aber nicht als ausführbarer Code...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349733</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 22 Aug 2007 11:59:46 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 12:20:32 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Eine Exe kann als Ressource in den aktuellen/bestehenden Prozess geladen werden (LoadLibraryEx LOAD_LIBRARY_AS_IMAGE_RESOURCE), aber nicht als ausführbarer Code...</p>
</blockquote>
<p>andererseits ist die exe bereits einmal im prozess geladen, da die dll ja durch die exe geladen wurde.</p>
<p>d.h. es könnte ja durchaus sein, dass bereits ein handle auf die exe im prozess vorhanden ist, das bloß noch geholt und mittels getprocadress benutzt werden kann.</p>
<p>werd ich heut abend mal ausprobiern</p>
<p>schwieriger wirds natürlich wenn wir von zwei verschiedenen exe dateien reden.<br />
da kommt dann die von martin angesprochene problematik ins spiel.</p>
<p>allerdings verstehe ich nicht was dllmain mit der ladefähigkeit zu tun hat.<br />
dllmain ist doch vollkommen optional</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349750</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 22 Aug 2007 12:20:32 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 12:40:34 GMT]]></title><description><![CDATA[<p>Nicht jetzt alles durcheinanderwerfen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Wenn es um die selbe EXE geht, müsste es gehen!<br />
Wenn es um eine andere EXE geht, kannn es nicht gehen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349770</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 22 Aug 2007 12:40:34 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 13:18:32 GMT]]></title><description><![CDATA[<p>was? ich meine nur du kannst doch ne exe mit LoadLibrary laden und dann genauso code daraus ausführen lassen wie bei einer dll auch mit GetProcAddress und dem ganzen quatsch. das geht jawohl und das ist auch alles was ich meinte. was das bringen soll ist ja eine andere frage. aber ich meine doch ned einen neuen prozess zu starten, das hat doch nie jemand gesagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349791</guid><dc:creator><![CDATA[noobi]]></dc:creator><pubDate>Wed, 22 Aug 2007 13:18:32 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 13:23:24 GMT]]></title><description><![CDATA[<p>das laden einer exe ist aber eigentlich gleichbedeutend mit dem starten eines neuen prozesses wohingegen das laden einer dll nie einen neuen prozess erzeugt.<br />
das ist die theoretische problematik.</p>
<p>die frage ist im prinzip nur wie windows das problem löst oder eben nicht löst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349796</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 22 Aug 2007 13:23:24 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 13:57:36 GMT]]></title><description><![CDATA[<p>Sovok schrieb:</p>
<blockquote>
<p>das laden einer exe ist aber eigentlich gleichbedeutend mit dem starten eines neuen prozesses wohingegen das laden einer dll nie einen neuen prozess erzeugt.<br />
das ist die theoretische problematik.</p>
<p>die frage ist im prinzip nur wie windows das problem löst oder eben nicht löst</p>
</blockquote>
<p>Das ist gar nicht das selbe. Und es ist auch nicht dasselbe Problem.<br />
Du verwendest nur das selbe Wort: &quot;Laden&quot;!</p>
<p>Windows verwendet einmal CreateProcess und einmal LoadLibrary!<br />
Die Funktionsweisen sind komplett unterschiedlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349823</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 22 Aug 2007 13:57:36 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 14:10:05 GMT]]></title><description><![CDATA[<p>so unterschiedlich sind sie auch wieder nicht<br />
im wesentlichen werden nur ausführbare befehle in den arbeitsspeicher befördert</p>
<p>bei einer exe müssen halt zusätzlich noch verwaltungsinformationen für einen neuen prozess angelegt werden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349830</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 22 Aug 2007 14:10:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 14:14:22 GMT]]></title><description><![CDATA[<blockquote>
<p>Windows verwendet einmal CreateProcess und einmal LoadLibrary!<br />
Die Funktionsweisen sind komplett unterschiedlich.</p>
</blockquote>
<p>Also das glaube ich nämlich garnicht. Es sind beides bloss PE Images. Die werden in den Speicher geladen, dann werden weitere Dependencies aufgelöst wodurch evtl. weitere PE Images geladen werden etc.</p>
<p>Der einzige Unterschied ist IMO dass beim Starten einer .EXE vorher ein &quot;leerer&quot; Prozess angelegt wird, und beim nachladen von Dependencies eben diese in den &quot;aktuellen&quot; Prozess geladen werden.</p>
<p>Davon abgesehen habe ich schon diese Situation gemeint:</p>
<p>A.EXE importiert (statisch) X@B.DLL<br />
B.DLL importiert (statisch) Y@A.EXE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349833</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 22 Aug 2007 14:14:22 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DLL&#x2F;Gegenseitige Bereitstellung von Funktionen on Wed, 22 Aug 2007 14:28:05 GMT]]></title><description><![CDATA[<p>Wenn man nur ds Laden der PE-Images betrachtet ist das Verhalten des Laders identisch.<br />
Der extreme Unterschied ist was verbunden ist mit dem Starten eines Prozesses und dem Laden einer DLL!</p>
<p>Dise Abhängigkeit, die Du aufzeigst müsste gelöst werden können.</p>
<p>Was in keinem Fall geht:<br />
Prozess X lädt statisch oder dynamisch die B.DLL, denn diese benötigt A.EXE!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1349839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1349839</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 22 Aug 2007 14:28:05 GMT</pubDate></item></channel></rss>