當我試圖與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確實說這是一個規則,所以我會同意它。 –