如何解码gcc编译的c源代码

时间:2015-09-04 19:54:23

标签: c linux gcc object-code

我不小心删除了我的源程序,现在我只有gcc编译的代码。有什么方法可以找回我的源代码。

3 个答案:

答案 0 :(得分:1)

从二进制文件中恢复C源被描述为“将汉堡包变回奶牛”。您将无法恢复原始源代码。最好的情况是,你会得到一些功能上与原始源相同的代码,但它不包含你原来的任何变量名,注释,宏等等,它们的结构可能不一样(取决于它的积极程度)经过优化),它可能不太容易理解(再次,取决于它是如何优化的)。

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

答案 1 :(得分:0)

您可以使用disassembler,但您永远无法完全恢复该程序的源代码。

为了防止以后出现这种情况,我建议使用源控件,如Git或Subversion。使用这些工具,您将始终拥有代码备份,以防发生类似这样的重大错误。

答案 2 :(得分:0)

如果您使用的是基于Eclipse的IDE,则可能在其历史记录中保存了源的已保存版本。如果是这样,请右键单击该项目,然后选择"从本地历史记录恢复..."。

修改 否则请尝试grep -a -C 200 -F 'Unique string in text file' /dev/sda1 > OutputFile;将200替换为您认为在文件中的行数和/ dev / sda1中的分区。

有关详细信息,请参阅https://wiki.archlinux.org/index.php/File_recovery处的文本文件恢复部分。

祝你好运!