첫 번째 “프로세스”프로그램을 실행하려고하는데 다음 오류가 발생합니다.
./fork.c: line 4: syntax error near unexpected token `('
./fork.c: line 4: `int main()'
코드가 올바른지 확신합니다.
#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);
}
뭐가 잘못 되었 니?
답변
당신은 단지 실행할 수 없습니다 ./fork.c
. 프로그램이 아닙니다. 프로그램 의 소스 입니다. Using ./
는 파일이 스크립트가 아니라고 가정하고 그에 따라 처리합니다.
그러나 다른 답변에서 언급했듯이 C 코드를 명시 적으로 컴파일하지 않고 실행할 수 있는 컴파일러 (예 : Tiny C Compiler )가 있습니다.
C 프로그램이므로 프로그램을 컴파일해야합니다. cc -o fork fork.c
그런 다음 시도하십시오 ./fork
; 여기에서 일했습니다.
답변
그것은 프로그램이 아니라 프로그램의 소스 코드입니다.
C는 컴파일 된 언어로, 실행하기 전에 컴퓨터에서 읽을 수있는 명령어로 “컴파일”되어야합니다. C를 사용하면서 “C 컴파일러”( cc
)가이를 수행 할 수 있습니다.
cc -o fork for.c # compile the code
chmod +x fork # ensure it it executable
./fork # run the compiled program
여러 소스 파일과 외부 라이브러리를 사용하여보다 복잡한 프로그램으로 넘어갈 때 “GNU Compiler Collection”( gcc
) make
을 사용하여 소스 코드를 작동 가능한 실행 파일로 바꾸는 방법을 설명 할 것입니다.
이 질문 에는 소스 코드를 처리하려는 스크립트와 컴파일 된 프로그램의 차이점에 대한 다양한 정보가 있습니다.