鱼C论坛

 找回密码
 立即注册
查看: 276|回复: 16

[已解决]vim编译运行C语言文件之后再次打开出现乱码,求解决方法

[复制链接]
发表于 2024-3-29 16:27:25 | 显示全部楼层 |阅读模式
8鱼币
最佳答案
2024-3-29 16:27:26
本帖最后由 jackz007 于 2024-3-29 17:08 编辑
王常枭 发表于 2024-3-29 16:57
编译指令是 gcc test.c -o test.c  ,大佬,这指令有问题吗/


         问题就出在这里,用你那条命令编译,test.c 会直接被毁掉,正确的编译命令应该是:
  1. gcc -o test test.c
复制代码

         用这条命令编译,新产生的 ELF 文件是 test,而不会是 test.c,这样,源代码文件就不会被编译器毁掉。

vim打开.c文件出现乱码

vim打开.c文件出现乱码

最佳答案

查看完整内容

问题就出在这里,用你那条命令编译,test.c 会直接被毁掉,正确的编译命令应该是: 用这条命令编译,新产生的 ELF 文件是 test,而不会是 test.c,这样,源代码文件就不会被编译器毁掉。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-29 16:27:26 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2024-3-29 17:08 编辑
王常枭 发表于 2024-3-29 16:57
编译指令是 gcc test.c -o test.c  ,大佬,这指令有问题吗/


         问题就出在这里,用你那条命令编译,test.c 会直接被毁掉,正确的编译命令应该是:
  1. gcc -o test test.c
复制代码

         用这条命令编译,新产生的 ELF 文件是 test,而不会是 test.c,这样,源代码文件就不会被编译器毁掉。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-29 16:30:14 | 显示全部楼层
稍微认真一点就不会出现这个问题
请非常非常非常认真的看教程,看看教程里面用的什么命令,你用的什么命令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-3-29 16:33:54 | 显示全部楼层
人造人 发表于 2024-3-29 16:30
稍微认真一点就不会出现这个问题
请非常非常非常认真的看教程,看看教程里面用的什么命令,你用的什么命令 ...

好,我去看看,谢谢大佬提醒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-3-29 16:53:42 | 显示全部楼层
人造人 发表于 2024-3-29 16:30
稍微认真一点就不会出现这个问题
请非常非常非常认真的看教程,看看教程里面用的什么命令,你用的什么命令 ...

大佬,我有看了两遍教程,没发现我的命令有问题,求大佬指点迷津
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-29 16:54:09 | 显示全部楼层
本帖最后由 jackz007 于 2024-3-29 17:03 编辑

      看到文件开头的 ELF 了? vim 打开的这个文件是一个 ELF 文件,也就是 Linux 系统下的二进制可执行文件,vim 只是一个文本编辑器,只能编辑和查看普通文本文件,不可以编辑和查看二进制的 ELF 文件。
      如果你确信自己打开的是一个 C 源代码文件,那么,很可能是因为编译指令不正确而导致编译器产生的 ELF 文件覆盖了源代码文件。
      以编译源代码文件 x.c 为例,正确的编译指令是:
  1. gcc -o x x.c
复制代码

      执行此命令后,在当前目录下会新产生一个名为 x 的可执行 (ELF)文件。
      如果把编译指令写成
  1. gcc -o x.c x.c
复制代码

      运行完这条命令,当前目录不会新增加任何文件,但是,x.c 却已经不再是源代码文件了,而是用 x.c 编译产生的可执行(ELF)文件。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-3-29 16:57:59 | 显示全部楼层
jackz007 发表于 2024-3-29 16:54
看到文件开头的 ELF 了? vim 打开的这个文件是一个 ELF 文件,也就是 Linux 系统下的二进制可执行文 ...

编译指令是 gcc test.c -o test.c  ,大佬,这指令有问题吗/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-3-29 17:07:47 | 显示全部楼层
好的,谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-3-29 17:20:54 | 显示全部楼层
jackz007 发表于 2024-3-29 16:27
问题就出在这里,用你那条命令编译,test.c 会直接被毁掉,正确的编译命令应该是:

       ...

佬,还是不行啊
  1. vim test
  2. gcc -o test test.c
  3. gcc; 错误:test.c:没有那个文件或目录
  4. gcc: 致命错误:没有输入文件
  5. 编译中断
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-29 18:04:55 | 显示全部楼层
本帖最后由 jackz007 于 2024-3-29 18:06 编辑


         编译器提示你,源代码文件 test.c 不存在,你必须跟着教程用 vim 重新编写 test.c,然后再用我给的命令进行编译。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-29 19:10:45 | 显示全部楼层
王常枭 发表于 2024-3-29 16:57
编译指令是 gcc test.c -o test.c  ,大佬,这指令有问题吗/

你看一看教程里面是不是这个
认真一点嘛
一个字符也不能错
不认真怎么能行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-3-30 18:29:05 | 显示全部楼层
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-30 18:29:09 | 显示全部楼层


你好!有什么问题需要我帮忙解答呢?

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-3-30 18:32:17 | 显示全部楼层
FishC 发表于 2024-3-30 18:29
你好!有什么问题需要我帮忙解答呢?

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继 ...

gcc的编译命令怎么用?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-30 18:32:28 | 显示全部楼层
王常枭 发表于 2024-03-30 18:32
gcc的编译命令怎么用?


使用gcc编译C语言程序的命令如下:

  1. gcc 源文件名.c -o 可执行文件名
复制代码


其中,"源文件名.c"是你要编译的C语言源代码文件的文件名(注意加上后缀名.c),"-o 可执行文件名"是指定编译生成的可执行文件的文件名。

以下是一个示例:
  1. gcc main.c -o program
复制代码


这将编译名为main.c的源文件,并生成一个名为program的可执行文件。在终端中执行该可执行文件时,只需输入`./program`即可运行。

另外,如果你的源文件中有用到第三方库,可能需要添加额外的编译选项和链接选项。例如,要使用数学库函数,你可以通过添加`-lm`选项来链接数学库,命令如下所示:
  1. gcc math_program.c -o program -lm
复制代码

希望能帮到你!如有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-3-30 18:36:57 | 显示全部楼层
FishC 发表于 2024-3-30 18:32
使用gcc编译C语言程序的命令如下:

如何用vim命令创建一个C语言源文件?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-30 18:37:08 | 显示全部楼层
王常枭 发表于 2024-03-30 18:36
如何用vim命令创建一个C语言源文件?


要在vim中创建一个C语言源文件,你可以按照以下步骤进行:

1. 打开终端,并输入以下命令启动vim:
  
  1. vim 文件名.c
复制代码

   其中,"文件名.c"是你要创建的C语言源文件的文件名。请确保在后面加上`.c`扩展名。

2. 进入vim的编辑模式。你会看到一个空白的屏幕。

3. 按下键盘上的字母`i`,进入插入模式。现在你可以开始编写代码了。

4. 编写C语言代码。在插入模式中,你可以使用键盘输入代码,注意保持正确的语法和缩进。

5. 当你完成代码编写后,按下键盘上的`Esc`键,退出插入模式。

6. 输入冒号`:`,接着输入`wq`,按下回车键,保存并退出vim。

现在你已经成功创建了一个C语言源文件。可以使用gcc等工具对该文件进行编译和运行。希望这对你有所帮助!如有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 06:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表