gcc -L/root/Desktop - Wall -o prog3.c -pthread -lcopy
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.0: In function '_start': (.text+0x20): undefined reference to 'main'
collect2: error: ld returned 1 exit status
这是我的错误代码。 prog3.c
无处可寻,究竟发生了什么事让我的档案回来?粗体是我运行的命令,其余的是生成的控制台输出
答案 0 :(得分:0)
您的问题在于:-o prog3.c
。 gcc
的{{3}}用于告诉gcc
它应该为其生成的可执行文件指定哪个名称。所以在这里,你基本上要求你的编译器用可执行文件替换你的prog3.c
源文件。可悲的是你的代码已经消失......
答案 1 :(得分:0)
在这种情况下,您的选择的小附录:
它是Git(或任何其他版本控制)存储库。在这种情况下,您可以简单地从上一次提交中获取它
您的编辑器/ IDE具有一些备份系统。有时我需要带回一个我认为不必要的文件。对于这种情况,我最喜欢的文本编辑器应该已经在适当的位置创建了备份文件(例如$XDG_DATA_HOME/vim/backup
)。
如果没有上述任何一项,但您之前仍然可以正确编译二进制文件
您可以尝试反编译,但是即使成功,此过程也不是无损的(例如,代码基本上是意大利面条)。
使用-g
标志进行编译时,可能可以从调试信息中检索代码。
您至少可以将其反汇编为汇编代码。