当我试图与zsh的权限被拒绝运行C程序
#include <stdio.h>
int main(int argc, char *argv[])
{
puts("hello world.");
return 0;
}
我收到此错误运行这个基本的文件(ex1.c中):
zsh: permission denied: ./ex1.c
当我试图与zsh的权限被拒绝运行C程序
#include <stdio.h>
int main(int argc, char *argv[])
{
puts("hello world.");
return 0;
}
我收到此错误运行这个基本的文件(ex1.c中):
zsh: permission denied: ./ex1.c
这是一个C源文件,它不应该像这样运行,你必须先编译它。
这会做:
make ex1 # Implicit rule which in turn will perform cc -o ex1 ex1.c
./ex1
您首先需要编译它,可能做gcc -o ex1 ex1.c
。
编译完成后,您将拥有一个名为ex1
的可执行文件,您可以通过执行./ex1
来运行该文件。 如果您收到另一个permission denied
错误,则可以通过执行chmod +x ex1
来使其可执行。
你不能用C代码运行一个文件。你必须先编译它。如果你有一个gcc
编译器可用,那将是:
gcc -o ex1 ex.c
./ex1
完全不正确,如果他没有生成文件。 –
这是隐含的规则。尝试一下。 – aragaer
也许你的系统使它隐含,但我的不是。然而,http://www.gnu.org/software/make/manual/html_node/Implicit-Rules.html确实说这是一个规则,所以我会同意它。 –