<?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-DLL Adresse&#x2F;Zeiger übergeben]]></title><description><![CDATA[<p>Guten Tag.</p>
<p>Ich habe eine Funktion in meiner C-DLL. Der übergebe ich z.B. -aus main()- zwei Intergerwerte und erhalte einen Integerwert zurück.<br />
Wegen der Effizienz würde ich gerne mit Referenzen oder Zeigern arbeiten.</p>
<p>Mit den Referenzen klappt das auch, wenn sie in main() initialisiert und der DLL übergeben werden.</p>
<p>Wie muss der Aufruf aus main() erfolgen und die Definition der Funktion in der DLL aussehen, wenn ich das mit Zeigern machen will.</p>
<p>Ich hoffe mir kann geholfen werden ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/110661/c-dll-adresse-zeiger-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 00:32:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/110661.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 May 2005 12:09:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Mon, 23 May 2005 12:09:40 GMT]]></title><description><![CDATA[<p>Guten Tag.</p>
<p>Ich habe eine Funktion in meiner C-DLL. Der übergebe ich z.B. -aus main()- zwei Intergerwerte und erhalte einen Integerwert zurück.<br />
Wegen der Effizienz würde ich gerne mit Referenzen oder Zeigern arbeiten.</p>
<p>Mit den Referenzen klappt das auch, wenn sie in main() initialisiert und der DLL übergeben werden.</p>
<p>Wie muss der Aufruf aus main() erfolgen und die Definition der Funktion in der DLL aussehen, wenn ich das mit Zeigern machen will.</p>
<p>Ich hoffe mir kann geholfen werden ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794117</guid><dc:creator><![CDATA[Vergessen]]></dc:creator><pubDate>Mon, 23 May 2005 12:09:40 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Mon, 23 May 2005 13:24:47 GMT]]></title><description><![CDATA[<p>Vergessen schrieb:</p>
<blockquote>
<p>Ich habe eine Funktion in meiner C-DLL. Der übergebe ich z.B. -aus main()- zwei Intergerwerte und erhalte einen Integerwert zurück.<br />
Wegen der Effizienz würde ich gerne mit Referenzen oder Zeigern arbeiten.</p>
</blockquote>
<p>warum willst du so etwas machen?<br />
int == 4bytes<br />
pointer == 4bytes<br />
es macht also keinen sinn pointer einzusetzen.<br />
und referenzen afaik für c++ gedacht</p>
<pre><code class="language-cpp">// aber trotzdem ein bsp
void foo(int *bar) { /* mach was */ }

// aufruf
int i = 50;
foo(&amp;i);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/794184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794184</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Mon, 23 May 2005 13:24:47 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Mon, 23 May 2005 14:20:48 GMT]]></title><description><![CDATA[<p>&quot;invalid conversion from 'int*' to 'int';</p>
<p>....so geht's nicht. Deswegen habe ich gefragt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794264</guid><dc:creator><![CDATA[vergessen]]></dc:creator><pubDate>Mon, 23 May 2005 14:20:48 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Mon, 23 May 2005 14:23:07 GMT]]></title><description><![CDATA[<p>Mir scheint, du hast das Sternchen vor bar nicht mit übernommen <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/794269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794269</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 23 May 2005 14:23:07 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Mon, 23 May 2005 14:32:55 GMT]]></title><description><![CDATA[<p>dll.h:<br />
int getIrgendwas(int *, int <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="😉"
    /><br />
maindll.c:<br />
int getIrgendwas(int * wert1, int * wert2){<br />
....<br />
}</p>
<p>Aufruf:<br />
getIrgendwas( &amp; w1, &amp; w2);</p>
<p>So hab ich's gemacht. Funktioniert aber mit Zeigern nicht.<br />
Es geht bei diesem (Integer-) Beispiel nur ums Prinzip.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794292</guid><dc:creator><![CDATA[Vergessen]]></dc:creator><pubDate>Mon, 23 May 2005 14:32:55 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Mon, 23 May 2005 14:51:22 GMT]]></title><description><![CDATA[<p>greifst du dynamisch auf die dll zurück?<br />
wenn ja stimmt dein funktionspointer?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794315</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Mon, 23 May 2005 14:51:22 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Mon, 23 May 2005 15:11:36 GMT]]></title><description><![CDATA[<p>Deine Funktion sieht so aus:</p>
<p>//<br />
int MeineFunktion(int * param1, int * param2) {<br />
//CODE<br />
}</p>
<p>Wenn du diese Funktion aufrufst, sieht es so aus:<br />
int variable1, variable2;<br />
int result;<br />
result = MeineFunktion(&amp;variable1, &amp;variable2);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794334</guid><dc:creator><![CDATA[Ð®90|&#x5C;|20]]></dc:creator><pubDate>Mon, 23 May 2005 15:11:36 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Mon, 23 May 2005 15:13:12 GMT]]></title><description><![CDATA[<p>Bitte lasse keinen Abstand zwischen den Adressoperatoren und der Variablen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794335</guid><dc:creator><![CDATA[Ð®90|&#x5C;|20]]></dc:creator><pubDate>Mon, 23 May 2005 15:13:12 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 07:52:40 GMT]]></title><description><![CDATA[<p>Danke für eure Antworten.</p>
<p>Ich lese die DLL dynamisch, mittels Funktionszeiger ein . Ich glaube da liegt auch das Problem. Die Parameter sind da wohl bereits als Zeiger &quot;ausgeführt&quot;.</p>
<p>typedef int(* GetIrgendwasPROC)(int, int);<br />
GetIrgendwasPROC pfnGetIrgendwas = NULL;<br />
HMODULE hMyLib;<br />
....<br />
etc.</p>
<p>Im Moment übergebe ich die Parameter, aus dem Hauptprogramm heraus, als Referenz. Das kann ich mir doch sparen, oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794745</guid><dc:creator><![CDATA[Vergessen]]></dc:creator><pubDate>Tue, 24 May 2005 07:52:40 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 08:19:39 GMT]]></title><description><![CDATA[<p>Wenn du in deiner Schnittstelle Zeiger übergeben willst, dann musst du das im <em>typedef</em> auch definieren.</p>
<pre><code class="language-cpp">typedef int (*GetIrgendwasPROC)(int *, int *);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/794761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794761</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Tue, 24 May 2005 08:19:39 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 08:22:11 GMT]]></title><description><![CDATA[<p>.. hätt ich auch selber drauf kommen können</p>
<p>Wirklich krass, dass ich das übersehen habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794764</guid><dc:creator><![CDATA[Vergessen]]></dc:creator><pubDate>Tue, 24 May 2005 08:22:11 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 08:24:21 GMT]]></title><description><![CDATA[<p>Tja, manchmal sitzt man halt blind davor und schaut wie 'n Schwein ins Uhrwerk. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Geht mir auch oft genug so. <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/794766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794766</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Tue, 24 May 2005 08:24:21 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 08:27:04 GMT]]></title><description><![CDATA[<p>Aber sag mal, normal hätte doch der Funktionszeiger immer <em>NULL</em> sein müssen, wenn du <em>GetProcAddress</em> ausgeführt hast. Oder 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="😕"
    /></p>
<p>[Edit]Rechtschreibfehler[/Edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794768</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Tue, 24 May 2005 08:27:04 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 08:58:32 GMT]]></title><description><![CDATA[<p>Ich lese mit LoadLibrary() die DLL ein.</p>
<p>Mit GetProcAdress() suche ich mir die Adresse (den Zeiger) und weise den dann zu. Danach ist<br />
pfnGetIrgendwas nicht mehr NULL.</p>
<p>Mach das halt ganz ordentlich, der Reihe nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794791</guid><dc:creator><![CDATA[Vergessen]]></dc:creator><pubDate>Tue, 24 May 2005 08:58:32 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 09:06:12 GMT]]></title><description><![CDATA[<p>Das meine ich nicht. Als dein <em>typedef</em> noch falsch war. Da hätte doch der Zeiger eigentlich <em>NULL</em> sein müssen. Oder 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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/794793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794793</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Tue, 24 May 2005 09:06:12 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 09:12:57 GMT]]></title><description><![CDATA[<p>Maffe001 schrieb:</p>
<blockquote>
<p>Aber sag mal, normal hätte doch der Funktionszeiger immer <em>NULL</em> sein müssen, wenn du <em>GetProcAddress</em> ausgeführt hast. Oder 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="😕"
    /></p>
</blockquote>
<p>hab gerade ein bisschen rumgespielt und den param typ mit anderen vertauscht<br />
zb: mit float und die anzahl der parameter im funcpointer verändert und<br />
es hat trotzdem funktioniert.<br />
die remarks in der msdn könnte man so deuten als wären in die parameter egal<br />
sondern nur der name zählt die adresse der funktion zu bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794798</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 24 May 2005 09:12:57 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 09:19:24 GMT]]></title><description><![CDATA[<p>Hmm, ist ja auch klar, jetzt wo du's sagst :D. Wenn man sich anschaut, was von einer Dll exportiert wird, erhält man ja auch nur den Namen und nicht mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794802</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Tue, 24 May 2005 09:19:24 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 09:21:13 GMT]]></title><description><![CDATA[<p>... als mein typedef noch &quot;falsch&quot; war, funktionierte das auch nicht. Die Compilation wurde abgebrochen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794803</guid><dc:creator><![CDATA[vergessen]]></dc:creator><pubDate>Tue, 24 May 2005 09:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 09:26:30 GMT]]></title><description><![CDATA[<p>GetProcAdress() sucht doch anhand des Funktionsnamens die Adresse. Was meint ihr mit &quot;was von einer DLL exportiert wird&quot; ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794807</guid><dc:creator><![CDATA[Vergessen]]></dc:creator><pubDate>Tue, 24 May 2005 09:26:30 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 09:32:34 GMT]]></title><description><![CDATA[<p>vergessen schrieb:</p>
<blockquote>
<p>... als mein typedef noch &quot;falsch&quot; war, funktionierte das auch nicht. Die Compilation wurde abgebrochen.</p>
</blockquote>
<p>dann hast du irgendwo anderes einen fehler gehabt, den dieses wird erst zur laufzeit verarbeitet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/794815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794815</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 24 May 2005 09:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 09:33:59 GMT]]></title><description><![CDATA[<p>Wenn du bei der Erstellung einer Dll nicht genau angibst, was exportiert werden soll, kannst du es später z.B. per <em>GetProcAddress</em> nicht laden. Ich mach das so:</p>
<pre><code class="language-cpp">//Dll.h

#define DLLEXPORT extern &quot;C&quot; __declspec(dllexport)

DLLEXPORT int myFunc (&lt;Parameter&gt;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/794821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794821</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Tue, 24 May 2005 09:33:59 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 09:36:50 GMT]]></title><description><![CDATA[<p>Maffe001 schrieb:</p>
<blockquote>
<p>Wenn du bei der Erstellung einer Dll nicht genau angibst, was exportiert werden soll, kannst du es später z.B. per <em>GetProcAddress</em> nicht laden. Ich mach das so:</p>
</blockquote>
<p>jetzt bin ich verwirrt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> , für wenn ist das jetzt <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/794824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794824</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 24 May 2005 09:36:50 GMT</pubDate></item><item><title><![CDATA[Reply to C-DLL Adresse&#x2F;Zeiger übergeben on Tue, 24 May 2005 09:58:41 GMT]]></title><description><![CDATA[<p>Für vergessen.</p>
<p>vergessen schrieb:</p>
<blockquote>
<p>[...]Was meint ihr mit &quot;was von einer Dll exportiert wird.&quot;[...]</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/794845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/794845</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Tue, 24 May 2005 09:58:41 GMT</pubDate></item></channel></rss>