Immer Die Größe einer C++ - Funktion

Las ich diese Frage, weil ich versuche zu finden, die Größe einer Funktion in einem C++ - Programm, Es wird angedeutet, dass es vielleicht ein Weg, dass ist Plattform-spezifisch. Meine Zielplattform ist windows

Die Methode, die ich derzeit noch in meinem Kopf ist folgende:

1. Sie erhalten einen Zeiger auf die Funktion

2. Erhöhen Sie den Zeiger (& counter), bis ich erreicht die Maschine code-Wert für ret

3. Der Zähler wird die Größe der Funktion?

Edit1: um Zu verdeutlichen, was ich damit meine "Größe" meine ich, dass die Anzahl der bytes (Maschinen-code), aus denen sich die Funktion.

Edit2: Es wurden ein paar Kommentare und Fragen, warum oder was ich Plane zu tun. Die ehrliche Antwort ist, ich habe keine Absicht, und ich kann nicht wirklich sehen, den nutzen von wissen ein-Funktionen Länge der pre-compile-Zeit. (obwohl ich bin sicher, es gibt einige)

Scheint das eine gültige Methode, um mich, werden Sie diese Arbeit?

  • Und Sie wollen dies tun, weil...?
  • Unsicher, aber wenn eine Funktion mehrere gibt. Bedeutet das nicht, dass Sie immer fehlerhafte Ergebnisse ?
  • Was ist, wenn es mehr als eine ret? Was ist, wenn die Funktion inlined? Was ist, wenn die Funktion sub-Funktionen eingebettet in es?
  • Schlechte Idee. Was genau wollen Sie archivieren?
  • Durch die Art und Weise, C++ ist nicht besser als C auf diese Weise, wenn nicht noch schlimmer.
  • diese Frage ist so seltsam, dass es sein muss, für hack/exploit-code. Aus dieser Sicht, die ich weigere mich zu unterhalten, diese Frage.
  • Irgendwo, ich kann Ihnen versichern, es ist für pädagogische Zwecke nur.
  • Es ist traurig zu sehen, so viele negative Antworten auf eine Frage, die man einfach hätte in der Verfolgung von hart-zu-erhalten Kenntnisse über computer-Architektur. Wir sollten die OP den Vorteil des Zweifels.
  • Es gab eine Menge von Kommentaren/Antworten mit hinweisen auf Fallstricke, aber nur wenige (nur eine oder zwei, soweit ich das sagen kann), die nur die bash die Frage. Ich habe eigentlich erwartet, dass es um downvotes und/oder in der Nähe Stimmen, aber soweit ich sehen kann keiner von denen.
  • zum Zeitpunkt meines Kommentars waren es drei von sechs nicht-OP-Kommentare, die sagen das ist eine schlechte Idee, böswillig oder sinnlos. Nicht zu verstehen, den Punkt von etwas und die Frage ist üblich und sinnvoll SO, aber der Ton der diese waren definitiv ablehnend.
  • fsmc ist richtig, die Mehrheit der frühen Kommentare waren auf jeden Fall in dieser form, und ich habe den gleichen Ton von Ihnen als gut. Aber ich habe einige nützliche Antworten (Speziell Micheal Madsen & dsmc ist), ich denke, ich werde einen Blick in einige Demontage Bibliotheken und sehen, ob ich finden kann, eine verlässliche Methode. 😉
  • Mögliche Duplikate von: stackoverflow.com/questions/3569877/...
  • Adam: Haben einige dieser Kommentare gelöscht wurden? Für das Protokoll, ich glaube nicht, dass die Kommentare, die angibt, dass das eine schlechte Idee oder Fragen, warum Sie wollen, dies zu tun, sind negativ. Oft fragt jemand eine Frage zu einem bestimmten Ansatz zur Lösung eines Problems, wenn das, was Sie wirklich Fragen sollten, ist, was Vorgehen sollte. Manchmal kann es schwierig sein zu bestimmen, von einer Frage, ob es die 'Akademische', oder wenn es ist wirklich über einige unausgesprochene Ziel. Zugegeben, einige der Kommentare, die vielleicht knapp, aber das bedeutet nicht, dass Sie dazu bestimmt waren, negativ zu sein. Sicherlich nicht beleidigend, richtig?
  • dass etwas eine schlechte Idee, UND nicht verstehen, den Punkt oder Zweck (impliziert durch die Fragen "warum tun dies" nach dem Aufruf eine schlechte Idee), gleichzeitig ist darauf hindeutet, dass es sinnlos ist. Der Sinn eines solchen Kommentars ist eindeutig nicht zu ermitteln, ob Akademische oder nicht. Unter der Annahme, dass etwas neugierig, muss bösartig sein ist auch nicht so schön. Es gibt viele Wege zu Fragen, warum jemand wollen, um etwas zu tun. Ein curt Beispiel wäre "was machst du das?", aber die Fragen hier sind mehr und schlage vor, die Frage nicht sinnvoll.

InformationsquelleAutor Adam | 2011-04-13
Schreibe einen Kommentar