2015-09-04 61 views
0

我不小心刪除了我的源程序,現在我只有gcc編譯的代碼。是否有任何方法可以找回我的源代碼。如何解碼gcc編譯的c源代碼

+0

是的,但與編譯的格式不同。 –

+0

根據您如何刪除它,您可以簡單地執行文件恢復。 – Zsw

+0

在那裏人,如果它不是一個巨大的項目,重寫它然後嘗試恢復它會快得多。 – asdf

回答

0

您可以使用disassembler,但永遠無法完全恢復程序的源代碼。


爲了防止這種情況發生,我建議使用源代碼控制,比如Git或Subversion。使用這些工具,您將始終備份您的代碼,以防萬一發生這樣的大錯誤。

0

如果您使用的是基於Eclipse的IDE,它可能在其歷史記錄中保存了源代碼版本。如果是這樣,請右鍵單擊該項目並選擇「從本地歷史恢復...」。

編輯 否則嘗試grep -a -C 200 -F 'Unique string in text file' /dev/sda1 > OutputFile;用你認爲在文件中的行數和/ dev/sda1替換200分區。

有關更多信息,請參閱文本文件恢復部分https://wiki.archlinux.org/index.php/File_recovery

祝你好運!

+0

如果不使用....? – CristiFati

+0

@CristiFati看我的編輯。另外,我知道一些大學會對他們的文件系統進行夜間備份。 – apandit

1

從二進制文件恢復C源已被描述爲「把漢堡包變回牛羣」。您將無法恢復您的原始源代碼。最好的情況是,你將得到一些與原始源代碼功能相同的代碼,但它不包含任何原始變量名稱,註釋,宏等,它們的結構可能不一樣(取決於它的激進程度)被優化了),它可能不是很容易理解(再次,取決於它如何被優化)。

希望原文仍能以某種方式恢復。