2017-01-18 43 views
1

比方說,我們有以下的C代碼地址:查找main函數的局部變量

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

我試圖找到我的本地變量「a」,但我不知道如何識別它找在此輸出,其中p爲C代碼編譯:

enter image description here

+1

它可以被優化,因爲它從來沒有使用過。 – wildplasser

+0

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

+0

@Arkadiy,你的回答與我的問題有什麼關係?這是一個有趣的帖子,但是。 –

回答

1

它不存在。由於代碼在執行時無法判斷它是否存在,鏈接程序將其刪除以節省空間。

+0

因此,如果我像這樣使用它,printf(「%s」,a)仍然不會顯示任何內容。我必須問你,我怎麼能得到nms輸出一行描述「a」存儲的位置? –

+0

您可以將'char * a ='askaskasd';'移到'main'之外,迫使名稱公開。 –