我正在尝试运行我的第一个“进程”程序,但出现以下错误:
./fork.c: line 4: syntax error near unexpected token `('
./fork.c: line 4: `int main()'
Run Code Online (Sandbox Code Playgroud)
我很确定代码是正确的:
#include <sys/types.h>
#include <stdio.h>
int main() {
pid_t pid;
printf("Hello fork()\n");
switch(pid=fork()) {
case -1: printf("Error by fork().....\n"); exit(0);
case 0: printf("I'm the child process \n"); break;
default: printf("I'm the dad \n"); break;
}
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
怎么了?
Ren*_*nan 68
你不能只是跑./fork.c。这不是一个程序;它是程序的来源。Using./假定文件是一个脚本(它不是)并相应地处理它。
但是,如另一个答案中所述,有些编译器(如Tiny C Compiler)可以在不显式编译的情况下执行 C 代码。
由于它是一个 C 程序,因此您必须编译该程序。cc -o fork fork.c那就试试吧./fork;它在这里工作。
Ora*_*Dog 23
那不是程序,而是程序的源代码。
C 是一种编译语言,这意味着它必须先被“编译”成机器可读的指令,然后才能运行它。当您使用 C 时,“C 编译器”( cc) 可以做到这一点。
cc -o fork for.c # compile the code
chmod +x fork # ensure it it executable
./fork # run the compiled program
Run Code Online (Sandbox Code Playgroud)
当您使用多个源文件和外部库处理更复杂的程序时,您可能会继续使用“GNU 编译器集合”( gcc) 并make描述如何将源代码转换为可运行的可执行文件。
这个问题有关于脚本(当你试图处理你的源代码)和编译程序之间区别的各种信息。
| 归档时间: |
|
| 查看次数: |
7234 次 |
| 最近记录: |