好吧所以我在操作系统上使用终端来编译我的c代码。每当我使用nano或vim创建一个名为“tst.c”的文件(或者名称可能是什么)然后我编译使用(我的老师告诉我每次都使用它,所以我不认为这是问题所在:
gcc -Wall -std=c99 -o tst.c ./tst.c
然后它变成二进制我猜。但是当我再次尝试编辑它时,它具有我猜测的所有这些奇怪的加密:
��������H���__PAGEZERO��������������������������������������������������������ÿ��__TEXT����������������������������������������������������__text����������__TEXT����������`�����*�������`���������������Ä������������__stubs���������__TEXT����������ä������������ä��������������Ä�����������__stub_helper���__TEXT����������ê������������ê���������������Ä������������__cstring�������
所以,问题是,如何恢复以便我可以编辑而不是每次都创建一个新文件???????
答案 0 :(得分:0)
-o(name)标志意味着您将输出存储到您用于名称的任何内容中。因此,如果您将.c添加到名称的末尾,您将看到许多有趣的内容。在了解每个标志的作用时,手册页非常棒。
答案 1 :(得分:0)
由于-o
选项,您使用已编译的可执行文件覆盖原始源文件:
gcc -Wall -std=c99 -o tst.c ./tst.c
^^^^^^^^
您需要在-o
选项中指定其他输出文件名:
gcc -Wall -std=c99 -o tst tst.c
否则,您可以完全关闭-o
选项,并将编译后的可执行文件写入名为a.out
的文件。
最终,您希望使用make
实用程序自动执行所有这些操作,但现在只需了解-o
选项的工作原理。