2010-09-15 86 views

回答

16

C++直接編譯爲機器碼。在.NET中沒有中介語言。有some C++ disassemblers你可以看看。 Hex-Rays decompiler特別好。

+0

Hex-Rays +1,看起來不錯! – Francesco 2010-09-15 08:05:46

+0

+1以及Hex-Rays!剛剛看過視頻(在他們的網站),它看起來像我一直在尋找的東西!謝謝! – Poni 2010-09-15 08:42:44

1

總之,沒有。任何'反思'必須通過一些手工編碼的機制。

+0

我認爲Qt支持這樣的東西。 – mpen 2010-09-15 08:00:49

5

我相信你在談論非託管C++。在這種情況下,這是不可能的。與編譯成中間語言的託管語言不同,C++被編譯爲機器代碼,其中包含關於編譯代碼的元數據。

1

不,C++與RedGate的反射器沒有任何關係,並且不具備這樣的功能。反彙編不會接近你正在尋找的東西。

1

內省功能代碼可以從Gcc-XML的輸出中生成,或者用OpenC++注入,但C++標準本身並不需要任何特殊的設施,因此沒有任何設施/實用程序與任何流行編譯器。 C++程序也可以在它自己的可執行文件中讀取調試信息,但它絕對不是特別便攜,快速或可能爲強健的解決方案做出的。

相關問題