2017-01-18 2 views
1

Lassen Sie sich sagen, dass wir den folgenden C-Code haben:Suche nach der Adresse einer Hauptfunktion lokale Variable

#include<stdio.h> 
int main(){ 
    char *a = "askakasd"; 
    return 0; 
} 

Ich versuchte, meinen lokalen Variable „a“ zu finden, aber ich weiß nicht, wie es zu erkennen suchen in dieser Ausgabe, wobei p der C-Code kompiliert:

enter image description here

+1

Es könnte optimiert werden, da es nie benutzt wird. – wildplasser

+0

http://catb.org/jargon/html/M/mu.html – Arkadiy

+0

@ Arkadiy, was ist die Verbindung Ihrer Antwort mit meiner Frage? es ist jedoch ein interessanter Beitrag. –

Antwort

1

er nicht da ist. Da der Code zur Ausführungszeit nicht feststellen kann, ob er vorhanden ist oder nicht, löschte der Linker ihn, um Speicherplatz zu sparen.

+0

Also wenn ich es so benutze, erscheint printf ("% s", a) immer noch nichts. Ich muss dich fragen, wie könnte ich in nms eine Zeile ausgeben, die beschreibt, wo "a" gespeichert ist? –

+0

Sie könnten 'char * a =" askaskasd ";' außerhalb von 'main' verschieben, wodurch der Name veröffentlicht wird. –