我正在創建一個調試器工具。 我需要GCC編譯器的MAP文件結構說明。 爲了找到如何爲不同數據類型(類,內部類,靜態,靜態常量,外部,模板,MAP文件中的typedef變量規範)的不同變量映射內存。 而且我想知道如何將符號添加到不同的變量以區分MAP文件。 告訴我要繼續的方法。地圖文件規範?
Q
地圖文件規範?
3
A
回答
0
不要認爲您需要了解詳細的MAP文件格式,-Wl和--print-map應該足以從編譯器中獲取可讀的文本地圖數據。
$ cat x.c | grep alpha
int alpha = one;
int c = do_operation(alpha, b);
printf("%d op %d = %d\n", alpha, b, c);
$ g++ -Wl,--print-map ./x.c | grep -P "(alpha|printf)"
0x00000000080483f0 [email protected]@GLIBC_2.0
0x000000000804a018 alpha
上面你可以看到x.c包含變量「alpha」的聲明並且還使用了「printf」。正如你可以看到,地址可通過--print-map paramater
希望這會有所幫助。
+0
順便說一句,如果你想知道如何閱讀由--print-map生成的文本,這裏是文檔,請記住閱讀ld文檔,這不是光讀:http://sourceware.org/binutils/docs- 2.19/LD/Options.html#索引g_t_002d_002dprint_002dmap-62 – chkdsk 2011-03-10 23:04:57
相關問題
- 1. .gemrc文件規範
- 2. 地址規範化
- 3. iPhone不服從地圖高度規範
- 4. 創建規範文件(RPM)
- 5. JAR vs WAR文件規範
- 6. video.js的MP4文件 - 規範
- 7. eclipse maven文件名規範
- 8. C#規範文件名
- 9. OpenDesign規範.dwg文件
- 10. Java屬性文件規範
- 11. 文件規範屬於哪個文件?
- 12. 顛覆文件夾和文件規範
- 13. MySQL - 文件系統規範化還是非規範化?
- 14. Outfile本地路徑規範
- 15. inet_aton IPv4地址規範化
- 16. WebDAV規範縮略圖/預覽文件圖像
- 17. 規範URL規範
- 18. 軟件文檔:放置類圖的地方:在功能或設計規範
- 19. 原文不規範
- 20. Jolt條件規範
- 21. 無效的規範緩存文件
- 22. DB文件系統的規範?
- 23. 文件範圍和訪問規則
- 24. 規範標籤和文件擴展名
- 25. dotcloud supervisord.conf文件環境規範
- 26. Ruby中的規範文件路徑
- 27. Perfmon .blg文件規範/解析庫
- 28. 優化csv文件的非規範化
- 29. 解碼gcc規範文件行
- 30. 使用python規範化csv文件
刪除了C#標記 - 不知道爲什麼那裏有... – 2010-06-10 09:34:32
請勿在問題標題中使用所有大寫。 – 2010-06-10 09:34:33