Почему я не могу запустить эту программу?

Я пытаюсь запустить свою первую программу «process», но я получаю следующую ошибку:

./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);
}

Что не так?

12 голосов | спросил Engine 13 AM00000040000001131 2012, 04:28:11

1 ответ


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

Когда вы переходите к более сложным программам, используя несколько исходных файлов и внешних библиотек, вы, вероятно, перейдете к использованию «Сборника компиляторов GNU» (gcc) и make, чтобы описать, как превратить исходный код в рабочий исполняемый файл.

Этот вопрос содержит различную информацию о различии между сценариями (поскольку вы пытаетесь для обработки исходного кода) и скомпилированных программ.

ответил OrangeDog 13 PM00000010000002631 2012, 13:33:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132