Содержание:
Free Pascal Compiler (FPC) — это свободно распространяемый компилятор языка Pascal с открытым исходным кодом. FPC — кроссплатформенный инструмент, поддерживающий огромное количество платформ.
В одной из предыдущих статей мы рассматривали вопрос установки компилятора FPC в Ubuntu. В данной же статье мы узнаем, как скомпилировать свою первую программу после установки данного компилятора.
Материалы, которые могут пригодиться: |
Создание программы
Программы на языке FPC можно писать с помощью любого текстового редактора и сохранять в текстовом формате с расширением «.pas». Для примера такой программы я буду использовать утилиту для определения количества кругов итераций необходимых для нахождения случайного числа, равного нулю. Это одна из моих старых практических работ студенческих времен, какую-либо фактическую пользу данная программа скорее всего не несет.
Перейдем к созданию программы. Создадим файл las.pas в домашнем каталоге пользователя:
cd ~/ touch las.pas
Откроем данный файл в редакторе nano и запишем в него нижеприведенный код:
nano las.pas
Код:
program test; uses CRT; var i, rand : longint; c, num : longint; function circl(x:integer):boolean; begin circl := FALSE; if (x <> 0) then circl := TRUE; end; begin clrscr; randomize; c := 0; i := 0; writeln('Определение случайного числа, равного нулю'); writeln('Введите число предела: '); read(num); rand := random(num); clrscr; while(circl(rand) = TRUE) do begin if(keypressed) then EXIT; rand := random(num); clrscr; c += 1; i += 1; writeln('Определение случайного числа, равного нулю'); writeln('Число предела: ', num); writeln('Текущее случайное: ', rand); writeln('Круг: ', c); if((i>0) and (i<10)) then write('\ .'); if((i>10) and (i<20)) then write('| ..'); if((i>20) and (i<30)) then write('/ ...'); if((i>30) and (i<40)) then write('- ....'); if((i>40) and (i<50)) then write('\ ...'); if((i>50) and (i<60)) then write('| ..'); if((i>60) and (i<70)) then write('/ .'); if(i=70) then i:=0; writeln; writeln; writeln('Идет подбор'); delay(10); end; clrscr; writeln('Определение случайного числа, равного нулю'); writeln('Число предела: ', num); writeln('Кругов пройдено: ', c); writeln('Ноль = ', rand); end.
Компиляция и запуск
Сохраним данный файл (las.pas) и выполним его компиляцию с помощью FPC:
fpc ./las.pas
На выходе получем два файла:
- las.o
- las
Файл с расширением «.o» нас не интересует — он является объектным файлом. Компилятор создает объектный файл для каждого исходного файла, прежде чем связать их вместе в окончательный исполняемый файл.
Нас же интересует выходной бинарный исполняемый файл las. Именно его мы и попробуем запустить:
./las
Как видно из скриншота выше — программа отработала и случайное число (от 0 до 100 (предела, который мы указали)) равное нулю было получено на 40 раз исполнения команды random();.
Если при выполнении команды ./las ты получишь ошибку доступа или сообщение о том, что файл не найден, тогда задай права на исполнение на данный файл. По умолчанию такие права должны быть ему заданны компилятором, но бывает всякое:
chmod +x ./las