<?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[Addresse einer Funktion herausfinden]]></title><description><![CDATA[<p>Hi,<br />
ich will bei folgendem Code die Addresse von lol() rausfinden:</p>
<pre><code class="language-cpp">#define _WIN32_WINNT 0x0500 
#include &lt;windows.h&gt;
#include &lt;iostream&gt;
using namespace std;

void lol(void);

int main(void)
{
  void (*fkt)(void);
  fkt = lol; 
  cout &lt;&lt; &amp;fkt;
  fkt();
  return 0;
}

void lol(void)
{
   MessageBox(0,&quot;inhalt&quot;,&quot;name&quot;,MB_OK);    
}
</code></pre>
<p>&amp;lol und lol ergibt aber immer 1 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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="😕"
    /><br />
&amp;fkt ist 0022FF74<br />
ftk ist 1<br />
In google bin ich nur auf Funktionszeiger gestoßen aber wie ihr seht<br />
funzt das auch nicht 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>
<p>Danke im voraus,<br />
BOOL</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/145754/addresse-einer-funktion-herausfinden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 14:20:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/145754.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 30 Apr 2006 21:27:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Sun, 30 Apr 2006 21:27:57 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich will bei folgendem Code die Addresse von lol() rausfinden:</p>
<pre><code class="language-cpp">#define _WIN32_WINNT 0x0500 
#include &lt;windows.h&gt;
#include &lt;iostream&gt;
using namespace std;

void lol(void);

int main(void)
{
  void (*fkt)(void);
  fkt = lol; 
  cout &lt;&lt; &amp;fkt;
  fkt();
  return 0;
}

void lol(void)
{
   MessageBox(0,&quot;inhalt&quot;,&quot;name&quot;,MB_OK);    
}
</code></pre>
<p>&amp;lol und lol ergibt aber immer 1 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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="😕"
    /><br />
&amp;fkt ist 0022FF74<br />
ftk ist 1<br />
In google bin ich nur auf Funktionszeiger gestoßen aber wie ihr seht<br />
funzt das auch nicht 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>
<p>Danke im voraus,<br />
BOOL</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048645</guid><dc:creator><![CDATA[BOol]]></dc:creator><pubDate>Sun, 30 Apr 2006 21:27:57 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Sun, 30 Apr 2006 21:38:56 GMT]]></title><description><![CDATA[<p>BOol schrieb:</p>
<blockquote>
<p>Hi,<br />
ich will bei folgendem Code die Addresse von lol() rausfinden:</p>
<pre><code class="language-cpp">#define _WIN32_WINNT 0x0500 
#include &lt;windows.h&gt;
#include &lt;iostream&gt;
using namespace std;

void lol(void);

int main(void)
{
  void (*fkt)(void);
  fkt = lol; 
  cout &lt;&lt; &amp;fkt;
  fkt();
  return 0;
}

void lol(void)
{
   MessageBox(0,&quot;inhalt&quot;,&quot;name&quot;,MB_OK);    
}
</code></pre>
<p>&amp;lol und lol ergibt aber immer 1 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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="😕"
    /><br />
&amp;fkt ist 0022FF74<br />
ftk ist 1<br />
In google bin ich nur auf Funktionszeiger gestoßen aber wie ihr seht<br />
funzt das auch nicht 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>
<p>Danke im voraus,<br />
BOOL</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

void lol (void)
{
}

int main(int argc , char* argv[])
{
    cout&lt;&lt;(int*)&amp;lol;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1048650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048650</guid><dc:creator><![CDATA[TGGC*_work]]></dc:creator><pubDate>Sun, 30 Apr 2006 21:38:56 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Sun, 30 Apr 2006 21:43:36 GMT]]></title><description><![CDATA[<p>der name einer funktion ist ihre adresse.<br />
also ist bei int lol(); in lol die adresse gesoeichert<br />
siehe funtionspointer</p>
<p>Mfg Shade37337</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048653</guid><dc:creator><![CDATA[branleb]]></dc:creator><pubDate>Sun, 30 Apr 2006 21:43:36 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Sun, 30 Apr 2006 22:10:46 GMT]]></title><description><![CDATA[<p>Ok vielen Dank <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/1048663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048663</guid><dc:creator><![CDATA[BOol]]></dc:creator><pubDate>Sun, 30 Apr 2006 22:10:46 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Mon, 01 May 2006 15:05:29 GMT]]></title><description><![CDATA[<p>BOol schrieb:</p>
<blockquote>
<p>&amp;lol und lol ergibt aber immer 1 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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>Ein reines Ausgabeproblem. Wie bereits gesagt wurde, liefert der Funktionsname die Adresse.<br />
IIRC (das Thema gab es hier schon mal) gibt es keine Überladung des Stream Operators &lt;&lt; für Funktionen. Dann wird die genommen, die am besten passt. Und das ist bool. Und da keine Funktionsadresse ein Nullzeiger ist, erhälst du als Ausgabe halt immer 1. Lösung des Problems: bei Adressen immer nach void* casten.</p>
<pre><code class="language-cpp">cout &lt;&lt; static_cast&lt;void*&gt;(&amp;fkt);
</code></pre>
<p>btw:<br />
du bist im falschen Forum</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1049020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1049020</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Mon, 01 May 2006 15:05:29 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Mon, 01 May 2006 15:26:53 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=13512" rel="nofollow">c.rackwitz</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=10" rel="nofollow">ANSI C</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1049038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1049038</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 01 May 2006 15:26:53 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Wed, 03 May 2006 13:21:21 GMT]]></title><description><![CDATA[<p>So,bevor ich einen neuen Thread erstelle push ich lieber den <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 />
Wie kann ich einem Funktionspointer,sagen wir</p>
<pre><code class="language-cpp">void (*fkt)(void);
</code></pre>
<p>eine Addresse zuweisen?Er soll dann also immer beim Aufruf von Fkt<br />
die Funktion an der Addresse aufrufen!</p>
<p>Danke im voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050293</guid><dc:creator><![CDATA[BOol]]></dc:creator><pubDate>Wed, 03 May 2006 13:21:21 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Wed, 03 May 2006 13:40:28 GMT]]></title><description><![CDATA[<p>Hallo</p>
<pre><code class="language-cpp">typedef void (*MyFuncType)(void); // Definition des FP-Types
...
void Function() // Funktion passend zum FP-Typ
{
};
...
MyFuncType fp = Function; // Deklaration und Zuweisung eines FP
fp(); // Ausführen der Funktion hinter dem FP
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050304</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 03 May 2006 13:40:28 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Wed, 03 May 2006 13:52:01 GMT]]></title><description><![CDATA[<p>Das weiß ich schon <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="😃"
    /><br />
Aber wie kann ich dem Pointer eine Addresse zuweisen,z.b. 0x4014a7</p>
<p>Danke im voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050315</guid><dc:creator><![CDATA[BOol]]></dc:creator><pubDate>Wed, 03 May 2006 13:52:01 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Wed, 03 May 2006 13:59:49 GMT]]></title><description><![CDATA[<p>Die Frage ist, wozu brauchst du dass? Weißt du etwa genau, bei welcher Adresse deine Funktion landet, wenn du dein Programm ausführst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050324</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Wed, 03 May 2006 13:59:49 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Wed, 03 May 2006 14:00:07 GMT]]></title><description><![CDATA[<p>Kannst alles mögliche machen. Obs funktioniert ist ne andere frage.<br />
z.B.:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class Test
{
private:
private:
private:
private:
private:
private:
private:
private:
private:
private:
   virtual void SecretFunction() { std::cout &lt;&lt; &quot;Secret function called&quot; &lt;&lt; std::endl; }
};

int _tmain(int argc, _TCHAR* argv[])
{
   typedef void (*MyFuncType)(void); 
   Test t;
   MyFuncType fp = (MyFuncType)((int*)((int*)&amp;t)[0])[0];
   fp();
	return 0;
}
</code></pre>
<p>oder du schreibst fp = (MyFuncType)0x12345;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050325</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Wed, 03 May 2006 14:00:07 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Wed, 03 May 2006 14:01:35 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Das weißt bereits dem pointer eine Adresse zu, und zwar die der angegebenen Funktion. Etwas anders als eine gültige Funktion solltest du dort auch nicht zuweisen.</p>
<pre><code class="language-cpp">MyFuncType fp = Function;
</code></pre>
<p>/Edit : ach bin ich langsam</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050327</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 03 May 2006 14:01:35 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Wed, 03 May 2006 15:26:29 GMT]]></title><description><![CDATA[<p>Ne ich will in meiner DLL,die ich in einen Prozess lade,eine Funktion des Prozesses<br />
nutzen...spart viel Arbeit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Danke im voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050370</guid><dc:creator><![CDATA[BOol]]></dc:creator><pubDate>Wed, 03 May 2006 15:26:29 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Wed, 03 May 2006 15:27:37 GMT]]></title><description><![CDATA[<p>Edit:Hab Seite 2 nicht gesehen,Danke werds dann mal versuchen <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/1050371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050371</guid><dc:creator><![CDATA[BOol]]></dc:creator><pubDate>Wed, 03 May 2006 15:27:37 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Thu, 04 May 2006 07:29:36 GMT]]></title><description><![CDATA[<p>templäd schrieb:</p>
<blockquote>
<p>Obs funktioniert ist ne andere frage.</p>
</blockquote>
<p>Guter Punkt - und bei deinem Code dürfte vermutlich nur Müll herauskommen (selbst wenn du mit dem Index-Gekurve tatsächlich die Adresse von SecretFunction() findest, fehlt dir auf jeden Fall ein this-Zeiger für den Funktionsaufruf).</p>
<p>PS: Dem Compiler ist es übrigens egal, ob du einmal oder hundertmal &quot;private:&quot; vor die Definition setzt <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/1050656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050656</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 04 May 2006 07:29:36 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Thu, 04 May 2006 08:35:08 GMT]]></title><description><![CDATA[<p>Die privates waren naja da damit's nicht untergeht (Vielleicht 3 4 zu viel).<br />
Der this Zeiger wird ja zum Glück nicht verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050688</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Thu, 04 May 2006 08:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Thu, 04 May 2006 08:47:05 GMT]]></title><description><![CDATA[<p>templäd schrieb:</p>
<blockquote>
<p>Die privates waren naja da damit's nicht untergeht (Vielleicht 3 4 zu viel).</p>
</blockquote>
<p>Da reicht einer völlig aus (für den Compiler auf jeden Fall - und für einen menschlichen Leser ist ein sinnvoller Kommentar auch besser).</p>
<blockquote>
<p>Der this Zeiger wird ja zum Glück nicht verwendet.</p>
</blockquote>
<p>Selbst wenn er nicht benötigt wird - die Methode erwartet diesen Parameter auf dem Stack. Und da ist es dann Glückssache, was sie macht (bei virtuellen Funktionen kann es durchaus noch sein, daß sie einige Vorbereitungen treffen müssen, die den this-Pointer benötigen).</p>
<p>PS: Aber es ist noch nichtmal garantiert, daß du mit deinem Programm wirklich in der SecretFunction() rauskommst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050700</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 04 May 2006 08:47:05 GMT</pubDate></item><item><title><![CDATA[Reply to Addresse einer Funktion herausfinden on Thu, 04 May 2006 09:10:17 GMT]]></title><description><![CDATA[<p>Nochmal zurück zu dem eigentlichen Problem:</p>
<p>BOol schrieb:</p>
<blockquote>
<p>Ne ich will in meiner DLL,die ich in einen Prozess lade,eine Funktion des Prozesses</p>
</blockquote>
<p>Mit Funktionszeigern macht man das in cpp nicht mehr.<br />
Ich würde der Funktion aus der dll ein interface übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050717</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Thu, 04 May 2006 09:10:17 GMT</pubDate></item></channel></rss>