Консультация № 160449
14.02.2009, 15:31
0.00 руб.
0 8 0
Доброго времени суток уважаемые эксперты!
Скажите пожалуйста, чем отличаются компиляторы PascalABS, FreePascal, и Borland Pascal друг от друга?
больше всего интересует разница между фри паскалем и борланд паскалем. Когда пытаюсь написать прогу на фри паскале, со 2-3 строки уже вылетают какие-то ошибки. Что компилятор фри паскаля хочет от меня? Приведите пожалуйста хоть какой-нибудь пример переноса кода из одного паскаля в другой.

Обсуждение

Неизвестный
14.02.2009, 15:33
общий
И кстати, если есть какая-нибудь литература по фри паскалю, дайте пожалуйста ссылки на неё.
Неизвестный
14.02.2009, 15:44
общий
Отличия PascalABC можете глянуть в этом вопросе 158644. Сравните мой ответ и ответ из мини-форума.
давно
Мастер-Эксперт
425
4118
14.02.2009, 16:33
общий
Цитата: Motoden
Когда пытаюсь написать прогу на фри паскале, со 2-3 строки уже вылетают какие-то ошибки. Что компилятор фри паскаля хочет от меня?

Единственное, что хочет от Вас компилятор FreePascal, это чтобы Вы писали текст программы без каких-то орфографических и логических ошибок.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
14.02.2009, 16:47
общий
Согласен с sir Henry поскольку код, который компилируется в TP компилируется и в FreePascal. Я по крайней мере не замечал разницы за исключением того, что TP-16битный. Но часто не работает в PascalABC.
давно
Старший Модератор
31795
6196
16.02.2009, 15:31
общий
Вопрос №160325 посмотрите(есть код в ответе и в мини-форуме).
По АВС, от других компиляторов он отличается ( только: АВС <-> ТР7.0, Фри проверить нет возможности):
- это эммулятор, как не бился с ним исполняемый код не получил;
- работа с графикой построенна по другиму принципу, функции даже по другому называются;
- поцедура delete работает не так, считает все строки должны быть стандартного размера и не работает со строками, к примеру: string [ 20 ];
- функция ORD - невоспринимает логический тип как перечисляемый, а должна;
- работа с динамической памятью некорректная, строка b<>nil дает ошибку попытка переименовать константу;
- контроль вводимой строки отсутствует: readln(а) - ТР7.0 вводит только 127 символом, АВС хоть 500 нажми, а вводится только 255.
- управляющие последовательности невоспринимаются (типа: #10#13 - обнаружил Boriss);
Для начала я думаю достаточно.

Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
16.02.2009, 15:41
общий
К предыдущему посту могу добавить, что Inc() и Dec() не работают с указателями, нет типа Double и ф-я FreeMem() вызывается без 2го параметра.
Неизвестный
16.02.2009, 18:12
общий
Хорошо. А описание всех "фокусов" фри паскаля где-нибудь есть?
А то в продаже я вижу только книги по турбо паскалю и борланд паскалю, а описания фри паскаля даже в интернете найти не смог.:(
О существовании ПаскаляАВС узнал вообще только с этого сайта:)
давно
Мастер-Эксперт
425
4118
16.02.2009, 18:39
общий
FreePascal (FP)- это почти точная копия (по синтаксису) Borland (Turbo) Pascl (BP\TP) и Delphi.
Разница между FP и TP (BP) в том, что FP 32-ух и 64-ёх разрядный компилятор и может использовать всю без исключения память, предоставляемую ему операционной системой, без её сегментации и костылей, навроде драйверов XMS\EMS, как это было в ВР. Соответственно разница будет только в принципе адресации памяти. В ТР\ВР адресация складывается из базового сегмента памяти и смещения. У FP только адрес ячейки памяти и ничего больше. Всё остальное практически один в один. Так что спокойно можно пользоваться книгами как по ВР, так и по Delphi.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Форма ответа