Вопрос про компилятор.

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Вопрос про компилятор.

Сообщение prowoke » 30.06.2010 19:42:41

Вот у меня недопонимание небольшое. У меня в универе лабы по turbopascal. А freepascal это тоже самое? Как понимаю нет, тут больше библиотек всяких и возможностей ( исправьте меня, если это не так). Так вот код, который мне сдавать на turbo pascal, он будет работать на фрипаскаль? Просто зачёт через 3 дня, хотелось подготовиться( у меня перездача из за недопуска), а turbopascal найти не могу, все ссылки сюда идут. У меня просто 64 битная винда, поэтому не так так легко найти под неё.
prowoke
незнакомец
 
Сообщения: 6
Зарегистрирован: 30.06.2010 12:43:18

Re: Вопрос про компилятор.

Сообщение скалогрыз » 30.06.2010 19:59:38

prowoke писал(а):Вот у меня недопонимание небольшое. У меня в универе лабы по turbopascal. А freepascal это тоже самое?

в 99% это тоже самое. так что, скорее всего всё заработает без изменений. Но если что - ты говори!
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Вопрос про компилятор.

Сообщение prowoke » 30.06.2010 20:08:57

Спасибо, буду пробовывать сегодня ночью, а не заработает, то секс ночью мне точно обеспечен.
prowoke
незнакомец
 
Сообщения: 6
Зарегистрирован: 30.06.2010 12:43:18

Re: Вопрос про компилятор.

Сообщение SII » 30.06.2010 23:41:27

prowoke писал(а):У меня просто 64 битная винда, поэтому не так так легко найти под неё.


Турбо Паскаля, как и любой другой досовской программы, под Винду-64 в принципе не найдёшь (запуск на эмуляторе не в счёт) -- поскольку в 64-разрядном режиме отсутстувует возможность выполнения 16-разрядного кода, изначально предназначенного для реального режима.
SII
новенький
 
Сообщения: 64
Зарегистрирован: 24.06.2007 17:15:09
Откуда: Зеленоград

Re: Вопрос про компилятор.

Сообщение Vadim » 01.07.2010 07:25:07

prowoke
Есть определённая специфика, которая на FreePascal в принципе работать не будет. Например работа с адресами памяти через База:Сегмент или непосредственное обращение по какому-то адресу памяти, где априори предполагается нахождение, например, данных видеоадаптера.
Всё остальное, что не отходит от стандартов Паскаля, работать будет.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Вопрос про компилятор.

Сообщение prowoke » 01.07.2010 15:35:14

Сортировка массивов :).
prowoke
незнакомец
 
Сообщения: 6
Зарегистрирован: 30.06.2010 12:43:18

Re: Вопрос про компилятор.

Сообщение PapaNT » 01.07.2010 15:56:28

Vadim писал(а):prowoke
Есть определённая специфика, которая на FreePascal в принципе работать не будет. Например работа с адресами памяти через База:Сегмент или непосредственное обращение по какому-то адресу памяти, где априори предполагается нахождение, например, данных видеоадаптера.
Всё остальное, что не отходит от стандартов Паскаля, работать будет.


Код: Выделить всё
Var
s : string;
a : byte absolute s;
begin
  s := 'Stroka simvolov';
  writeln('Длина строки s:',a)
end.

Абсолютные переменные на строках не работают. Теоретически заработают, если объявить их как ShortString
PapaNT
постоялец
 
Сообщения: 167
Зарегистрирован: 11.09.2009 12:06:46
Откуда: Москва

Re: Вопрос про компилятор.

Сообщение Дож » 01.07.2010 17:21:29

В FreePascal вообще ругань будет на s[0], хотя в turbo pascal это нормальный способ обращения к длине.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Вопрос про компилятор.

Сообщение Vadim » 02.07.2010 05:17:31

PapaNT писал(а):Абсолютные переменные на строках не работают. Теоретически заработают, если объявить их как ShortString

Это потому что строки теперь - не статические, а динамические переменные. :) Т.е. строка может быть любой длины, вплоть до заполнения всей доступной памяти. А тип ShortString как раз возвращает строку к её фиксированной длине - 255 символов, как это было в ТР. С фиксированными данными, такими как byte или integer, слово absolute будет работать, но только для локальных адресов, т.е. программе выделяется 32-ух (или 64-ёх) адресный сегмент, туда она только и заглядывает.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Вопрос про компилятор.

Сообщение alexrayne » 02.07.2010 13:42:42

Ребят, если уж вы расказываете новичку о строках, то расказывайте все.
строки фрюха переняла из дельфи. старый тип статических строк который был реализован на турбопаскале теперь называется ShortString. дельфя ввела новый тип динамичеких строк AnsiString и WideString - ето указатель. есть еще во фрюхе какието недокументированые типы LongString, чем оно от AnsiString отличается незнаю. в новых типах строк длина строки лежит не в 0м байт а в скрытой структуре описателя строки и получать ее надо функцией Length а устанавливать SetLength.
так вот тип String теперь отображается на ShortString или AnsiString в зависимости от настроек компилятора или макросов {$H+/-}
alexrayne
постоялец
 
Сообщения: 125
Зарегистрирован: 03.12.2008 16:56:26


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 2

Рейтинг@Mail.ru