本質上,我正在尋找的是一個功能,可以讓我做這樣的事情:在Data :: Dumper中是否有與Perls的Dumper()方法等價的C?
Dumper(some_obj);/*輸出some_objs的數據結構*/
謝謝。
本質上,我正在尋找的是一個功能,可以讓我做這樣的事情:在Data :: Dumper中是否有與Perls的Dumper()方法等價的C?
Dumper(some_obj);/*輸出some_objs的數據結構*/
謝謝。
C不支持任何開箱即用的反射。此外,在編譯爲機器代碼後,類型不再存在(與某些更高級別的語言不同),這並不難。您需要構建帶有所有符號和調試信息的可執行文件,然後使用一些調試工具或庫來檢索這些數據。
我想只使用一個已建立的調試器,如Visual Studio Debugger或gdb就簡單多了。
簡答題:沒有。
長答案:當你的程序被編譯和鏈接時,所有的信息都被扔掉了。 C(和C++)沒有反射,所以這些信息都不能在運行時恢復。有趣的答案:因爲你在Windows上,所以你可以用調試信息(即PDB文件)和DbgHelp API來做各種事情。
感謝羅傑的澄清。我實際上正在使用的代碼是RIPE WHOIS服務器的修改版本,儘管我在Windows上,但我的大部分工作實際上都是通過Linux(通過SSH)完成的。也許我會嘗試在本地構建源代碼並查看是否可以在Visual Studio Express中以調試模式運行代碼。 – freakwincy 2009-07-09 06:21:13
非常感謝您的解釋。我想我會給Visual Studio調試器一個旋風,因爲我對gdb不太熟悉 - 嘗試儘早使用它調試代碼,雖然沒有成功。 – freakwincy 2009-07-09 06:25:38