Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка QNX.doc
Скачиваний:
7
Добавлен:
03.09.2019
Размер:
211.97 Кб
Скачать
    1. □ і ряд інших (perl, python, tcl / tk, ksh, zsh, algol68 і т. д.).

    2. Засоби розробки програм на мові с

Для того щоб отримати власну програму, потрібно написати її вихідний текст на мові С або C + +. Файл або файли з вихідним текстом спочатку обробляються препроцесором, потім те, що вийшло, обробляється відповідно компілятором С або C++. В результаті отримуємо об'єктний файл. В цей об'єктний файл компонувальник ("linker") включає об'єктні файли з бібліотек і в результаті виходить виконуваний файл - програма.

Отже, для отримання програми вихідний текст обробляється таким конвеєром: препроцесор, компілятор, компонувальник. Цей ланцюжок найзручніше викликати командою gcc. Зручність створюється тим, що у цієї команди є конфігураційні файли, що дозволяють їй ставити за замовчуванням оптимальну комбінацію опцій для всіх перерахованих інструментів конвеєра (див. каталог /etc/gcc).

Для написання програми створимо текстовий файл з ім'ям first.c і запишемо в нього код програми на мові C:

#include<stdlib.h>

#include<sys/resource.h>

int main(int argc, char **argv, char **env)

{

pid_t pid;

char *Prefix;

Prefix=(char *)malloc(sizeof(char));

pid=fork();

if(pid==0) sprintf(Prefix, "CHILD:");

else sprintf(Prefix, "PARENT:");

printf("%s Process name = %s\n", Prefix, argv[0]);

printf(" %s PID=%d\n", Prefix, getpid(0));

printf(" %s PPID=%d\n", Prefix, getppid(0));

return EXIT_SUCCESS;

}

У цьому прикладі видно, що функція fork () повертає ціле число, яке в батьківському процесі дорівнює нулю, а в дочірньому – ідентифікатором.

Зверніть увагу, що не потрібно писати директиву препроцесора #include <stdio.h>— gcc сам "знає", що потрібно підключити заголовок stdio.h.

Для того щоб отримати програму для Intel-сумісних цільових систем, слід виконати команду

gcc V gcc_ntox86 first.c -о <Назва об’эктного файлу який буде створений>.

Отримати повний список цільових платформ, для яких можна згенерувати додаток, можна командою gcc –V.

Наприклад, gcc_ntoppcbe - для цільових систем PowerPC BigEndian, а gcc_ntomipsle-для MIPS LittleEndian.

Насправді, за замовчуванням і так створюється виконуваний файл для апаратури х86. Тому в даному окремому випадку достатньо ввести таку команду:gcc first.с -о <Назва обэктного файлу який буде створений>.

Для того щоб запустити програму потрібно виконати команду ./< ім'я об'эктного файлу який був створений>

Каталог "крапка" (.) - це поточний каталог, тобто ./<ім'я> позначає файл у поточному каталозі.