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
)、修正がディスクに書き込まれなかったことを意味します。