태그 보관물: compiler

compiler

이 C 프로그램을 실행할 수없는 이유는 무엇입니까? main()’ 코드가 올바른지 확신합니다. #include

첫 번째 “프로세스”프로그램을 실행하려고하는데 다음 오류가 발생합니다.

./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을 사용하여 소스 코드를 작동 가능한 실행 파일로 바꾸는 방법을 설명 할 것입니다.

이 질문 에는 소스 코드를 처리하려는 스크립트와 컴파일 된 프로그램의 차이점에 대한 다양한 정보가 있습니다.


답변