我不小心刪除了我的源程序,現在我只有gcc編譯的代碼。是否有任何方法可以找回我的源代碼。如何解碼gcc編譯的c源代碼
回答
您可以使用disassembler,但永遠無法完全恢復程序的源代碼。
爲了防止這種情況發生,我建議使用源代碼控制,比如Git或Subversion。使用這些工具,您將始終備份您的代碼,以防萬一發生這樣的大錯誤。
如果您使用的是基於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。
祝你好運!
如果不使用....? – CristiFati
@CristiFati看我的編輯。另外,我知道一些大學會對他們的文件系統進行夜間備份。 – apandit
從二進制文件恢復C源已被描述爲「把漢堡包變回牛羣」。您將無法恢復您的原始源代碼。最好的情況是,你將得到一些與原始源代碼功能相同的代碼,但它不包含任何原始變量名稱,註釋,宏等,它們的結構可能不一樣(取決於它的激進程度)被優化了),它可能不是很容易理解(再次,取決於它如何被優化)。
希望原文仍能以某種方式恢復。
- 1. 如何用GCC編譯Objective-C代碼?
- 2. 從源代碼編譯gcc時出錯
- 3. 從源代碼編譯gcc(問題)
- 4. 用GCC編譯的16位C代碼
- 5. gcc編譯無效C代碼
- 6. 如何使用gcc編譯SIMD代碼
- 7. 編譯gcc代碼與greenhills
- 8. 用GCC編譯WIN32代碼
- 9. 關於GCC編譯x86_64的代碼和C代碼優化
- 10. 如何編譯包含C源文件的C++源代碼?
- 11. 如何以編程方式從使用mingw32-gcc編譯器的c#代碼編譯c代碼
- 12. 如何使用GCC將C代碼編譯爲8088彙編?
- 13. 由arm-gcc編譯器編譯的c代碼的頭文件
- 14. 使用gcc編譯C源代碼時出現問號
- 15. eclipse for android c源代碼 - 如何解決編譯頭文件?
- 16. 如何從GCC源代碼構建本地編譯器?
- 17. C++代碼使用.cpp源代碼編譯,但不包含.c
- 18. 從代碼內編譯QT源代碼
- 19. 如何編譯具有C源代碼的Frama-C插件?
- 20. C代碼編譯
- 21. 編譯C代碼
- 22. 編譯C源代碼時出錯
- 23. Haxe編譯爲C++和JS源代碼
- 24. MagickNet C++源代碼編譯失敗
- 25. c#編譯數據庫源代碼
- 26. 編譯器獨立C++代碼資源
- 27. 爲Android編譯C++ 11源代碼NDK
- 28. GCC無法編譯正確的代碼
- 29. GCC - 不編譯未使用的代碼
- 30. 如何編譯java源代碼?
是的,但與編譯的格式不同。 –
根據您如何刪除它,您可以簡單地執行文件恢復。 – Zsw
在那裏人,如果它不是一個巨大的項目,重寫它然後嘗試恢復它會快得多。 – asdf