0

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

4

3 回答 3

1

从二进制文件中恢复 C 源代码被描述为“将汉堡包变回奶牛”。您将无法恢复原始源代码。充其量,您将获得一些功能上与原始源代码等效的代码,但它不会包含您的任何原始变量名称、注释、宏等,它的结构可能不一样(取决于它的积极程度)已优化),它可能不是很容易理解(同样,取决于它是如何优化的)。

希望原件仍然可以以某种方式恢复。

于 2015-09-04T20:08:55.653 回答
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上的文本文件恢复部分。

祝你好运!

于 2015-09-04T19:59:58.500 回答
0

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


为了防止将来发生这种情况,我建议使用源代码控制,例如 Git 或 Subversion。使用这些工具,您将始终拥有代码备份,以防发生此类大错误。

于 2015-09-04T19:56:17.620 回答