Найдено 1409 результатов

Sergei I. Gorelkin
25.08.2025 17:10:07
Форум: Free Pascal Compiler
Тема: Extended = Double
Ответы: 22
Просмотры: 5590

Re: Extended = Double

наскока я понял там используется SSE, т.е. не совсем x87

Совсем не x87. SSE2, если быть точнее.

т.е. на SSE под винду64 тоже можно было имитировать, или вообще сменить тип extended на 16 байтный, и под вин и под лин
SSE2 поддерживает только single и double. Все его более современные инкарнации ...
Sergei I. Gorelkin
25.08.2025 16:03:23
Форум: Free Pascal Compiler
Тема: Extended = Double
Ответы: 22
Просмотры: 5590

Re: Extended = Double

Microsoft при выпуске 64-битной винды объявила x87 устаревшим и намекнула, что его поддержка может быть со временем исключена из системы.
Разработчики FPC решили следовать этой "генеральной линии" и не использовать x87 для x86_64-win64.
Sergei I. Gorelkin
28.04.2025 14:13:44
Форум: Free Pascal Compiler
Тема: Баг или фича
Ответы: 11
Просмотры: 14974

Re: Баг или фича

Power() - это не совсем вычисление степени в математическом смысле, в ней куча проверок граничных условий. В частности, при показателе степени 0 (а также -0) она ничего не вычисляет и возвращает единицу независимо от основания степени.
Sergei I. Gorelkin
12.04.2025 06:28:41
Форум: Free Pascal Compiler
Тема: Баг или фича
Ответы: 11
Просмотры: 14974

Re: Баг или фича

Любое число с плавающей запятой, у которого все биты порядка равны 1, а биты мантиссы не равны 0 (за исключением скрытого бита), считается NaN.
Операции с NaN вызывают исключение, а если исключения замаскированы, то результатом будет тоже NaN.
Операции сравнения с NaN при замаскированных исключениях ...
Sergei I. Gorelkin
15.09.2024 15:56:14
Форум: Lazarus
Тема: Lazarus, утечка бекенда GTK2 в slackware
Ответы: 4
Просмотры: 3822

Re: Lazarus, утечка бекенда GTK2 в slackware

м.б. все-таки из-за "ошибки загрузки"?! приложение работает вообщем-то без проблем (если-бы не периодический выхлоп об "утечках", то и вопросов-бы не было)
Речь о какой-то второстепенной функциональности, отсутствие которой сразу не заметно. Ну например, модуль IME для китайского языка. А может ...
Sergei I. Gorelkin
14.09.2024 12:59:55
Форум: Lazarus
Тема: Lazarus, утечка бекенда GTK2 в slackware
Ответы: 4
Просмотры: 3822

Re: Lazarus, утечка бекенда GTK2 в slackware

Логи как бы намекают, что утечка происходит из-за невозможности загрузить какую-то разделяемую библиотеку. Какую именно - можно попытаться узнать с помощью strace. А так как gtk грузит чертову тонну всяких своих engine, это может быть ошибка конфигурации или отсутствующий пакет (a у Slackware ...
Sergei I. Gorelkin
09.06.2024 08:02:09
Форум: Потрепаться
Тема: JSON, нюансы использования
Ответы: 23
Просмотры: 28723

Re: JSON, нюансы использования

*Rik* писал(а): Именам в объекте следует быть уникальными.
А, нет, не убирали, такая фраза и в RFC 7159 есть, это я в спешке не увидел.
Sergei I. Gorelkin
08.06.2024 20:24:27
Форум: Потрепаться
Тема: JSON, нюансы использования
Ответы: 23
Просмотры: 28723

Re: JSON, нюансы использования

Сергей, Вы не знаете, нет ли подобного описания в официальной документации на JSON?

Смотря что считать официальной документацией. На www.json.org требования уникальности полей объекта нет, в RFC 4627 оно есть, в более позднем RFC 7159 его убрали и заменили оговоркой, что поведение парсеров на ...
Sergei I. Gorelkin
08.06.2024 09:58:50
Форум: Потрепаться
Тема: JSON, нюансы использования
Ответы: 23
Просмотры: 28723

Re: JSON, нюансы использования

Технически, такая конструкция допустима, но по факту, по какому то неписанному правилу или соглашению о работе с JSON (нигде не нашел почему так), почти все парсеры это прочтут, но из повторяющихся ключей, будут прочитаны только самые последние, т.е все парсеры приведут объект к виду { "tovar ...
Sergei I. Gorelkin
18.05.2024 02:22:30
Форум: Общее
Тема: условная компиляция, DEFINE в lpr
Ответы: 31
Просмотры: 54230

Re: условная компиляция, DEFINE в lpr


Скажите, в каком модуле определены cpui386 и cpux86_64
и на какие модули они еще влияют?


cpui386, cpux86_64 и остальное, начинающееся с "cpu", определяются самим компилятором. Они, собственно, обозначают тот процессор, для которого компилируем. Поэтому любой код, который по каким-то причинам ...
Sergei I. Gorelkin
17.05.2024 12:00:17
Форум: Общее
Тема: условная компиляция, DEFINE в lpr
Ответы: 31
Просмотры: 54230

Re: условная компиляция, DEFINE в lpr

Модульность - фундаментальная черта Паскаля.
Модули не зависят друг от друга, за исключением явно прописанного в секциях uses.
Каждый модуль может быть скомпилирован отдельно от проекта, и вообще может поставляться в уже скомпилированном виде, без исходников.
Отсюда следует и поведение дефайнов: они ...
Sergei I. Gorelkin
01.05.2024 15:29:03
Форум: Lazarus
Тема: TProcess Detached, непонимание структуры try-finally/Free()
Ответы: 8
Просмотры: 7219

Re: TProcess Detached, непонимание структуры try-finally/Fre

Экземпляр класса TProcess - это самый обычный объект в памяти, и подчиняется общим правилам работы с объектами.
С процессами как таковыми он вообще никак не связан, несмотря на то, что вызовы его методов позволяют этими процессами управлять.

Поведение отладчика на блоках try..finally - отдельный ...
Sergei I. Gorelkin
26.04.2024 18:27:21
Форум: Компилятор / язык программирования
Тема: FPC и mold. Возможно ли это ?
Ответы: 12
Просмотры: 37282

Re: FPC и mold. Возможно ли это ?

Smartlink во встроенном линкере есть. Он для этого и был написан.
Строго говоря, написан он был для винды, потому что ld-bfd не умеет в smartlink для объектных файлов формата COFF. Для ELF - умеет, поэтому особо сакрального смысла во внутреннем линкере и нет, кроме как "все свое ношу с собой".
Sergei I. Gorelkin
25.04.2024 22:25:50
Форум: Компилятор / язык программирования
Тема: FPC и mold. Возможно ли это ?
Ответы: 12
Просмотры: 37282

Re: FPC и mold. Возможно ли это ?

Так-то в FPC есть свой собственный линкер...
Sergei I. Gorelkin
22.01.2024 12:48:53
Форум: Общее
Тема: Вопрос про цикл for
Ответы: 54
Просмотры: 69149

Re: Вопрос про цикл for

Компилятор может оптимизировать цикл for. Например, если значение управляющей переменной не используется внутри тела цикла, то задача компилятора - сгенерировать код, повторяющий тело цикла заданное количество раз, а как именно - это его проблемы. Т.е. компилятор имеет право превратить "for i:=0 to ...