zubДа нет, программа не секретная, но к ней надо скачивать ещё несколько зависимостей.
https://github.com/VadimAnIsaev/GNU-MPFR-for-FreePascalВ разделе examples, файл называется pi_bel_mpfr.pas.
В принципе я знаю, где ошибка - она не у меня, а у разработчиков библиотеки. Правда они сами её ошибкой не считают.

У них там есть специальная инструкция, как выделять память для нескольких ихних переменных, а потом как правильно их утилизировать, чтобы подобных персидских ковров не возникало. Мне просто интересно, как такую ошибку вообще, в принципе отлавливать...
Инструкция к генерации ошибки:
- в коде программы нужно удалить (или закомментировать) все буквосочетания ", mpfr_ptr(0)", откомпилировать и любоваться на эту ошибку.
zub писал(а):собрана с отладочной инфой? fpc собери с отладочной инфой
Нет, код без отладочной инфы. Кстати, вопрос - а отладочная инфа в моём коде поможет, если ошибка не в моём коде?
zub писал(а):..mp.. = мультипоточность?
Ну что же Вы меня на ночь глядя так пугаете?! Ни в коем случае! Один разъединственный поток!
Добавлено спустя 2 минуты 31 секунду:runewalsh писал(а):Ещё можно попробовать директиву $CHECKPOINTERS,
Спасибо, попробую...
Добавлено спустя 3 минуты 4 секунды:Vadim писал(а):В коде можно комментировать всё что угодно, ничего при выходе не меняется.
Нет, поправка. Если в коде закомментировать так:
- Код: Выделить всё
mpfr_clears(@tmp_1, @tmp1, @tmp2, @tmp3, @tmp5{, @tmp7, @tmp9, mpfr_ptr(0)});
// mpfr_clears(@m1, @m2, @m3, @m4, @m5, @m6, @m7, @m8, mpfr_ptr(0));
// mpfr_clears(@t1, @t2, mpfr_ptr(0));
ошибка пропадает. Но ясности это не вносит...