LINUX.ORG.RU

Релиз 2.2.4 свободного компилятора Free Pascal

 ,


0

0

На радость школьникам и студентам 12 апреля, в День Космонавтики, вышел новый стабильный релиз свободного компилятора языка программирования Free Pascal, который считается средством разработки кросс-платформенных приложений.

Страница для загрузки

В основном эта версия посвящена исправлению ошибок.
Список изменений, которые могут повлиять на уже существующие проекты
Логи изменений в Subversion

>>> Сайт проекта

★★★★★

Проверено: svu ()
Ответ на: комментарий от question4

а кому это интересно в линуксе? а так fp и лазарус настолько глючные поделия, что ими просто невозможно пользоваться человеку с нормальной психикиой.

Tu3eK
()
Ответ на: комментарий от Tu3eK

>а так fp и лазарус настолько глючные поделия, что ими просто невозможно пользоваться человеку с нормальной психикиой.

сказал тот, кто ими вообще не пользовался...

sniper21 ★★★★★
()
Ответ на: комментарий от Tu3eK

> а кому это интересно в линуксе?

1. Embedded.

2. UMPC.

> fp и лазарус настолько глючные

4.2 УМВР. Кроме консольного IDE.

> ими просто невозможно пользоваться человеку с нормальной психикиой

Давно последний раз нормальных видел? "Я хочу видеть этого человека!" Ⓒ Есениин

question4 ★★★★★
()
Ответ на: комментарий от question4

ембедка на паскале? уписаться можно! на паскале вменяемые люди эмбедки не пишут. особенно, когда на одной программе неправильный машинный код сгенерировался. в freepascal паршивая и медленная графика, BGI лучше, хоть и под ДОС. вывод на консоль ужасно медленный, а скорее всего код неэффективный генерится. про лазарус ничего положительного сказать нельзя. ему до делфи как до луны. кодят его сто баранов, которые не могут хотя бы отладчик довести до ума.

Tu3eK
()
Ответ на: комментарий от question4

товарищ!

весь Embedded - это чистый Си.

до мозга костей.

ПС.

Ура! Наконец-то паскаль научился правильно округлять

begin
write(round(-2.5),' ');
write(round(-1.5),' ');
write(round(-0.5),' ');
write(round(0.5),' ');
write(round(1.5),' ');
writeln(round(2.5));
end.


The above program used to print:

-3 -2 -1 1 2 3

Now it will print:

-2 -2 0 0 2 2

это кстати по поводу глюков. В любой реализиции паскаля (FPC, Delphi) их немеренно.

Tu3eK
()
Ответ на: комментарий от sniper21

а вот слабо в FPC на платформе Win32 сделать сборку под Linux/FreeBSD/ARM?

а на Java - это не вопрос - такова концепция Java.

Я в среде FPC выбираю целевую платформу... и...
ну и где ваша хваленая кроссплатформенность?

Tu3eK
()
Ответ на: комментарий от svu

аааааааааааааа!

в новой версии Свободного Паскаля до сих пор не сделано округление!

бедные школьники! сколько будет слез, сколько нервов,...

Tu3eK
()
Ответ на: комментарий от Tu3eK

>Я в среде FPC выбираю целевую платформу... и...

а не забыл поставить binutils, либы, и рантайм библиотеки от той платформы на которую собрался компилить?

sniper21 ★★★★★
()
Ответ на: комментарий от Tu3eK

aaaaa!

write(round(-2.5),' ');
write(round(-1.5),' ');
write(round(-0.5),' ');
write(round(0.5),' ');
write(round(1.5),' ');
write(round(2.5));

■ Free Pascal IDE Version 1.0.10 [2009/04/10]
■ Compiler Version 2.2.4
■ GDB Version GDB 6.2.1
■ Cygwin "C:\FPC\2.2.4\bin\i386-win32\cygwin1.dll" version 1005.18.0.0
■ Using configuration files from: C:\FPC\2.2.4\bin\i386-win32\
Running "c:\fpc\2.2.4\bin\i386-win32\test.exe "
-2 -2 0 0 2 2
Running "c:\fpc\2.2.4\bin\i386-win32\test.exe "
-2 -2 0 0 2 2


закапывайте это!

Tu3eK
()
Ответ на: комментарий от Tu3eK

binutils-2.15-win32-powerpc-linux.zip помоему, еще дистрибутив fpc для Linux, из него надо взять скомпилированные модули.

sniper21 ★★★★★
()
Ответ на: комментарий от Tu3eK

>Running "c:\fpc\2.2.4\bin\i386-win32\test.exe "
>-2 -2 0 0 2 2

>Running "c:\fpc\2.2.4\bin\i386-win32\test.exe "

>-2 -2 0 0 2 2

>закапывайте это!


Сахарок не получишь... не заслужил...

The above program used to print:

-3 -2 -1 1 2 3

Now it will print:

-2 -2 0 0 2 2

sniper21 ★★★★★
()
Ответ на: комментарий от Tu3eK

New behaviour: By default, round() now performs banker's rounding (round-to-nearest, halfway to even). If the rounding mode is changed using the Math unit's SetRoundMode() function, the round() function now honours this change.

читать.

record ★★★★★
() автор топика
Ответ на: комментарий от Tu3eK

раскапывайте.

Pascal:

* Round and RoundTo (nonstandard) use bankers' rounding

Банковское округление (англ. banker's rounding) — округление для этого случая происходит к ближайшему чётному. Это позволяет устранить систематическую ошибку округления при суммировании большого количества чисел. То есть, 2,5 → 2, 3,5 → 4.

и закапывайте людей, которые сделали пасклевский Round таким.

и как теперь до ближайшего целого округлить?

Tu3eK
()
Ответ на: комментарий от record

TFPURoundingMode = (rmNearest,rmDown,rmUp,rmTruncate)

а где банковское округление?

Tu3eK
()
Ответ на: комментарий от Tu3eK

> и как теперь до ближайшего целого округлить?

Как всегда - Int()

atrus ★★★★★
()
Ответ на: комментарий от Tu3eK

>> в новой версии Свободного Паскаля до сих пор не сделано округление!

может ты уже наконец угомонишься и перестанешь изводиться на говно? Ты как голимый тролль уже всю тему завонял.

Andru ★★★★
()
Ответ на: комментарий от Andru

> может ты уже наконец угомонишься и перестанешь изводиться на говно?

Не может. У него ЛТД-синдром.

atrus ★★★★★
()
Ответ на: комментарий от record

>> O! а что это скролбар?

ты это о чем? О_о

Andru ★★★★
()
Ответ на: комментарий от Andru

че, задело? вот скачал лазарус, а там на каждом шагу баг, которых раньше даже не было. и каким дубаком надо быть, чтобы на нем что-то пейсать.

Tu3eK
()
Ответ на: комментарий от Tu3eK

>> че, задело? 

нет, просто читать тред с кучей говна невозможно. Есть мнение, сопли, укоры, выкрики о недоделанности? Собери всю массу своих газификаций в одно-два сообщение и не пиши как школьник сотню мессаг равномерно размазывая их по треду.

Andru ★★★★
()
Ответ на: комментарий от Andru

ну тогда выдается сообщение при постинге, что слишком большое сообщение. приходится "размазывать".

Tu3eK
()
Ответ на: комментарий от Tu3eK

> вменяемые люди

Ещё раз: покажи мне вменяемого человека.

> когда на одной программе неправильный машинный код сгенерировался

Ты это о чём?

> в freepascal паршивая и медленная графика

Покажи замеры времени. А ещё есть uses OpenGL.

> вывод на консоль ужасно медленный

Переключись с Turbo Vision на ncurses.

> про лазарус ничего положительного сказать нельзя. ему до делфи как до луны.

Вообще-то новые фичи языка последние годы сперва появляются в FP, а затем в Дельфи :)

> не могут хотя бы отладчик довести до ума

Консольный GDB работает, отладчик в лазарусе работает, но я хочу отладчик в стиле Turbo Pascal, который на половине х86-64 систем не собирается по причине путаницы с lib-lib32-lib64. Что как положено называть по стандарту, не подскажешь?

question4 ★★★★★
()
Ответ на: комментарий от impfp

> Странный вы человек - у вас все не в порядке!

Это Тузик. Nevermind.

sv75 ★★★★★
()
Ответ на: комментарий от Tu3eK

>а кому это интересно в линуксе? а так fp и лазарус настолько глючные поделия, что ими просто невозможно пользоваться человеку с нормальной психикиой.

4.2 В каком месте глючит fp?

dikiy ★★☆☆☆
()
Ответ на: комментарий от Tu3eK

>в freepascal паршивая и медленная графика, BGI лучше, хоть и под ДОС. вывод на консоль ужасно медленный, а скорее всего код неэффективный генерится.

вот отсюда можно не продолжать. Ты просто не в теме. Или паскаль со времен ТP7 не видел.

dikiy ★★☆☆☆
()
Ответ на: комментарий от Tu3eK

>а вот слабо в FPC на платформе Win32 сделать сборку под Linux/FreeBSD/ARM?

не слабо.

dikiy ★★☆☆☆
()
Ответ на: комментарий от svu

>Я как-то люто торможу. Почему оно так? Я как-то думал, должно быть -2 -1 0 1 2 3

неправильно думал.

dikiy ★★☆☆☆
()
Ответ на: комментарий от Tu3eK

>аааааааааааааа! в новой версии Свободного Паскаля до сих пор не сделано округление! бедные школьники! сколько будет слез, сколько нервов,...

Пройдите сюда, пожалуйста, ламерок ты наш.

http://bugs.freepascal.org/view.php?id=12687

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

>Пройдите сюда, пожалуйста, ламерок ты наш. Не пройдет - он стал слишком толст :)

impfp
()
Ответ на: комментарий от Tu3eK

> в новой версии Свободного Паскаля до сих пор не сделано округление!

нет, но тепреь оно сделано таким образом, чтобы "Reason: Compatibility with TP/Delphi.".

Сам удивляюсь, неужто нет единого стандарта в округлении чисел. В математике одно, в компьютерах другое. Хотя, на мой взгляд, точное округление нужно там, где идёт борьба за сотые-десятые. Имхо, в графике порой можно и отбросить то, что после запятой.

http://home.datacomm.ch/t_wolf/tw/c/c9x_changes.html (интересно, как это переправили в своё время в Си, п. 25)

Vest
()
Ответ на: комментарий от Vest

>Сам удивляюсь, неужто нет единого стандарта в округлении чисел. В математике одно, в компьютерах другое. Хотя, на мой взгляд, точное округление нужно там, где идёт борьба за сотые-десятые. Имхо, в графике порой можно и отбросить то, что после запятой.

Для математического округления и взятия целой части есть разные функции.

>http://home.datacomm.ch/t_wolf/tw/c/c9x_changes.html (интересно, как это переправили в своё время в Си, п. 25)


Там вообще про целочисленное деление и остатки.

madcore ★★★★★
()
Ответ на: комментарий от Vest

>Сам удивляюсь, неужто нет единого стандарта в округлении чисел. В математике одно, в компьютерах другое.

Всё очень даже стандартно.
Округление до целого - отбрасывается дробная часть, если она меньше 0.5 и прибавляется 1, если больше.
floor(n) - отбрасывается дробная часть
ceil(n) - добавляется 1, если дробная часть != 0
Приводится к int - в зависимости от архитектуры системы и языка. Обычно просто отбрасывается дробная часть. Но нужно помнить о погрешности bin<->dec дробей.

KRoN73 ★★★★★
()
Ответ на: комментарий от madcore

> Для математического округления и взятия целой части есть разные функции.

Вообще разговор шёл о Round:

Round returns the nearest integer to x. The result is of type integer. In the case of equidistance, the result is machine-dependent (or depends on the behaviour of the processor).

> Там вообще про целочисленное деление и остатки.

Можно принять, как частный случай целочисленного деления (мало ли у тебя получится -2.5, а его надо округлить и использовать дальше).

Vest
()
Ответ на: комментарий от Tu3eK

>весь Embedded - это чистый Си.

Не смеши, на плюсах эмебеды пишут - только в путь. В некоторых даже жаба запихана.

A-234 ★★★★★
()
Ответ на: комментарий от A-234

> В некоторых даже жаба запихана.

Причём как минимум в некоторые -- спецаильная ява без GC :)

sv75 ★★★★★
()
Ответ на: комментарий от dikiy

о паскалист очумелый приперся, багтрекер фрипаскаля весь в красном, никто ничего там не исправляет.

Tu3eK
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.