如何编译在 Vi 或 Vim 中编辑过的 C 程序?

如何编译在 Vi 或 Vim 中编辑过的 C 程序?

我正在尝试从 vim 和 vi 编译并运行 ac 项目

#include<stdio.h>

int main(void)
{
 printf("Hello! This is a test prgoram.\n");
 return 0;
}

我得到这个输出

madona@madona-Java ~ $ vi demo.c

[No write since last change]
make: *** No targets specified and no makefile found.  Stop.

Press ENTER or type command to continue
[No write since last change]
gcc: error: demo.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.

shell returned 4

使用这个后:!gcc demo.c。我究竟做错了什么?

当我尝试运行时也遇到了这个问题:

gcc -o demo demo.c
gcc: error: demo.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.

答案1

只因你跑了

vi demo.c

并不意味着demo.c创建了文件。直到您第一次将缓冲区写入磁盘时才会创建它。

只需在编译之前将缓冲区写入磁盘即可:

:w

您看到的消息证实了这一点[No write since last change]。此消息意味着缓冲区已更改(因为您创建了名为 的缓冲区demo.c),但修改后未写入磁盘。

相关内容