王常枭 发表于 2024-3-29 16:27:25

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

jackz007 发表于 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 会直接被毁掉,正确的编译命令应该是:
gcc -o test test.c
         用这条命令编译,新产生的 ELF 文件是 test,而不会是 test.c,这样,源代码文件就不会被编译器毁掉。

人造人 发表于 2024-3-29 16:30:14

稍微认真一点就不会出现这个问题
请非常非常非常认真的看教程,看看教程里面用的什么命令,你用的什么命令

王常枭 发表于 2024-3-29 16:33:54

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

好,我去看看,谢谢大佬提醒

王常枭 发表于 2024-3-29 16:53:42

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

大佬,我有看了两遍教程,没发现我的命令有问题,求大佬指点迷津

jackz007 发表于 2024-3-29 16:54:09

本帖最后由 jackz007 于 2024-3-29 17:03 编辑

      看到文件开头的 ELF 了? vim 打开的这个文件是一个 ELF 文件,也就是 Linux 系统下的二进制可执行文件,vim 只是一个文本编辑器,只能编辑和查看普通文本文件,不可以编辑和查看二进制的 ELF 文件。
      如果你确信自己打开的是一个 C 源代码文件,那么,很可能是因为编译指令不正确而导致编译器产生的 ELF 文件覆盖了源代码文件。
      以编译源代码文件 x.c 为例,正确的编译指令是:
gcc -o x x.c
      执行此命令后,在当前目录下会新产生一个名为 x 的可执行 (ELF)文件。
      如果把编译指令写成
gcc -o x.c x.c
      运行完这条命令,当前目录不会新增加任何文件,但是,x.c 却已经不再是源代码文件了,而是用 x.c 编译产生的可执行(ELF)文件。

王常枭 发表于 2024-3-29 16:57:59

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

编译指令是 gcc test.c -o test.c,大佬,这指令有问题吗/

王常枭 发表于 2024-3-29 17:07:47

好的,谢谢大佬

王常枭 发表于 2024-3-29 17:20:54

jackz007 发表于 2024-3-29 16:27
问题就出在这里,用你那条命令编译,test.c 会直接被毁掉,正确的编译命令应该是:

       ...

佬,还是不行啊vim test
gcc -o test test.c
gcc; 错误:test.c:没有那个文件或目录
gcc: 致命错误:没有输入文件
编译中断

jackz007 发表于 2024-3-29 18:04:55

本帖最后由 jackz007 于 2024-3-29 18:06 编辑

王常枭 发表于 2024-3-29 17:20
佬,还是不行啊

         编译器提示你,源代码文件 test.c 不存在,你必须跟着教程用 vim 重新编写 test.c,然后再用我给的命令进行编译。

人造人 发表于 2024-3-29 19:10:45

王常枭 发表于 2024-3-29 16:57
编译指令是 gcc test.c -o test.c,大佬,这指令有问题吗/

你看一看教程里面是不是这个
认真一点嘛
一个字符也不能错
不认真怎么能行

王常枭 发表于 2024-3-30 18:29:05

@FishC

FishC 发表于 2024-3-30 18:29:09

王常枭 发表于 2024-03-30 18:29
@FishC

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

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

王常枭 发表于 2024-3-30 18:32:17

FishC 发表于 2024-3-30 18:29
你好!有什么问题需要我帮忙解答呢?

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

gcc的编译命令怎么用?

FishC 发表于 2024-3-30 18:32:28

王常枭 发表于 2024-03-30 18:32
gcc的编译命令怎么用?

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

gcc 源文件名.c -o 可执行文件名

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

以下是一个示例:
gcc main.c -o program

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

另外,如果你的源文件中有用到第三方库,可能需要添加额外的编译选项和链接选项。例如,要使用数学库函数,你可以通过添加`-lm`选项来链接数学库,命令如下所示:
gcc math_program.c -o program -lm
希望能帮到你!如有其他问题,请随时提问。

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

王常枭 发表于 2024-3-30 18:36:57

FishC 发表于 2024-3-30 18:32
使用gcc编译C语言程序的命令如下:




如何用vim命令创建一个C语言源文件?

FishC 发表于 2024-3-30 18:37:08

王常枭 发表于 2024-03-30 18:36
如何用vim命令创建一个C语言源文件?

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

1. 打开终端,并输入以下命令启动vim:
   vim 文件名.c
   其中,"文件名.c"是你要创建的C语言源文件的文件名。请确保在后面加上`.c`扩展名。

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

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

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

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

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

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: vim编译运行C语言文件之后再次打开出现乱码,求解决方法