我一直在读GCC的介绍-对于GNU编译器GCC和g++
这里有一个例子,将hello world程序分为3个不同的文件(main.c、hello-fn.c、hello.h)。在这个例子中,它展示了makefile的使用。
CC=gcc
CFLAGS=-Wall
main: main.o hello_fn.o
clean:
rm -f main main.o hello_fn.o
他所说的要点是,当您只更改一个文件(例如main.c)时,通过使用make,您只需要编译在创建新的可执行文件时更改的文件。
我成功地生成了一个可执行文件,但是当我在main.c中进行一个简单的更改,让它打印“HelloEveryone!”取而代之的是“世界你好!”它抛出权限被拒绝错误。你也不能再运行那个可执行文件了,上面写着“访问被拒绝”
现在有趣的是,它抛出错误大约10分钟左右,但大约10分钟后,它编译成功!你可以在这里看到:
C:\Users\Neven\Documents\C\GCC knjiga\New Hello>main
Hello, world!
C:\Users\Neven\Documents\C\GCC knjiga\New Hello>make
gcc -Wall -c -o main.o main.c
gcc main.o hello_fn.o -o main
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m
ingw32/bin/ld.exe: cannot open output file main.exe: Permission denied
collect2: ld returned 1 exit status
make: *** [main] Error 1
C:\Users\Neven\Documents\C\GCC knjiga\New Hello>main
Access is denied.
我的问题是,为什么有一段时间间隔你不能执行make?
最佳答案
应用程序没有结束。这就是为什么你没有权限写这个过程。可能在那10分钟之后,你在输入“Hello World”之后打破了一些循环或者让它睡眠了600秒。
关于c - 在GCC中使用Make时,权限被拒绝,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21972161/