好吧,我在操作系统上,使用终端来编译我的 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�������
所以,问题是,如何恢复以便我可以编辑而不是每次都创建新文件??????
最佳答案
由于 -o
选项,您将使用已编译的可执行文件覆盖原始源文件:
gcc -Wall -std=c99 -o tst.c ./tst.c
^^^^^^^^
您需要在 -o
选项中指定不同的输出文件名:
gcc -Wall -std=c99 -o tst tst.c
否则,您可以完全关闭 -o
选项,编译后的可执行文件将写入名为 a.out
的文件。
最终,您会希望使用 make
自动执行所有这些操作。实用程序,但现在只需了解 -o
选项的工作原理即可。
关于C编译器困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43054601/