2015-09-04 60 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源已被描述为“把汉堡包变回牛群”。您将无法恢复您的原始源代码。最好的情况是,你将得到一些与原始源代码功能相同的代码,但它不包含任何原始变量名称,注释,宏等,它们的结构可能不一样(取决于它的激进程度)被优化了),它可能不是很容易理解(再次,取决于它如何被优化)。

希望原文仍能以某种方式恢复。