Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
ikflood
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 3
#1

GMP, MPFR, MPIR кто знаком? - C++

22.05.2012, 07:40. Просмотров 1970. Ответов 3
Метки нет (Все метки)

Здравствуйте уважаемые форумчане, помогите разобраться, застрял, код компилируется (VS2010), но программа вылетает, мотивируя:

'test1.exe': Loaded 'D:\_KURS\test1\Debug\test1.exe', Symbols loaded.
'test1.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'test1.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'test1.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'test1.exe': Loaded 'D:\_KURS\test1\Debug\libgmp-3.dll', Binary was not built with debug information.
'test1.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'test1.exe': Loaded 'D:\_KURS\test1\Debug\mpfr.dll', Cannot find or open the PDB file
'test1.exe': Loaded 'D:\_KURS\test1\Debug\mpir.dll', Cannot find or open the PDB file
'test1.exe': Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Symbols loaded.
'test1.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
HEAP[test1.exe]: Invalid address specified to RtlValidateHeap( 00550000, 000F2A40 )
Windows has triggered a breakpoint in test1.exe.

This may be due to a corruption of the heap, which indicates a bug in test1.exe or any of the DLLs it has loaded.

This may also be due to the user pressing F12 while test1.exe has focus.

The output window may have more diagnostic information.

КОД
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <gmp.h>
#include <mpfr.h>
#include <stdlib.h>
#include <string.h>
 
int main(int argc, char** argv) {
 
  mpfr_t tmp; 
  mpfr_init(tmp);
  mpz_t rrr;
  mpz_init(rrr);
  mpz_t n;
  mpz_init(n);
 
  while (!feof(stdin)) {
      gmp_scanf("%Zd", &n); 
      if(feof(stdin)) {break;}
      mpfr_set_z(tmp, n, MPFR_RNDN); //tmp(mpfr_t) принимает значение n(mpz_t)
      gmp_printf("До сюда пашет"); 
      mpfr_get_z(rrr, tmp, MPFR_RNDA); //обратно mpfr_set_z; здесь обрывается :(
      gmp_printf("%Zd\n",n); 
  
  }
 
  mpz_clear(n);
  mpfr_free_cache();
  return 0;
}
Грешу на собранные через Ж библиотеки (я в программировании новичок). Но гляньте опытным взглядом на всякий случай, мож посоветуеуте что.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 07:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос GMP, MPFR, MPIR кто знаком? (C++):

Те кто знаком с Eclipse отзовитесь - C++
Сбоку отображаются проекты .Если я удалю проект оттуда ,чтоб не мешал,то как его вернуть обратно,если мне вдруг он понадобится?(Проект я...

Кто знаком с алгоритмом быстрого поиска - C++
Поиск в массиве Расскажите и если можно код на языке с++ с комметариями Добавлено через 5 минут вот есть алгоритм, но не могу...

Объявление укзателей, логика работы (для тех кто знаком с языком "низко"). - C++
int *p_int; cout &lt;&lt; p_int &lt;&lt; &quot;\n&quot;; p_int = new int; cout &lt;&lt; p_int; //в обоих выводах будут разные адреса памяти. ...

Не получается подключить MPIR - C++
Искал в интернете как установить MPIR на visual studio 2017 community,так и не нашёл нормальной инструкции,не могли бы вы мне объяснить как...

Работа с библиотекой MPIR - C++
Всем привет. Начинаю осваивать С++, опыт нулевой... Хочу сделать програмку для перевода из двоичной системы счисления в десятичную, при...

Ошибка компоновки при использовании MPIR - C++
Добрый день. При попытке скомпилировать код выдается ряд ошибок &quot;LNK2005 error&quot;. В чем может быть дело? #include &lt;iostream&gt; #include...

3
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
22.05.2012, 08:40 #2
а вы эти библиотеки подключили к проекту?
0
ikflood
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 3
22.05.2012, 11:17  [ТС] #3
А вот как я собирал библиотеки GMP (повторил заново)
гайды: http://cs.nyu.edu/exact/core/gmp/ и http://agapii.ucoz.ru/publ/sborka_gm...indows/1-1-0-7

Имеем:
mingw-get-inst-20111118.exe - установлен
MSYS-1.0.11.exe - установлен
/home/gmp-5.0.5 – сырцы
/home/gmp – папка для сборки

из /home/gmp-5.0.5 выполняю:
./configure –prefix=/home/gmp
make && make check && make install && make clean

получил папки include, lib и share
libgmp.a и libgmp.la скопировал в c:\mingw\lib, а gmp.h в c:\mingw\include //зачем?

./configure --prefix=/home/gmp --disable-static --enable-shared
make && make check && make install


получил /home/gmp-5.0.5/.libs
переименовал ...\.libs\libgmp-3.dll.def в ...\.libs\libgmp-3.def //зачем?
нашел 3 файла lib.exe в ... \Microsoft Visual Studio 10.0\VC\bin\
не ругается только один: ... \Microsoft Visual Studio 10.0\VC\bin\amd64\lib.exe
скопировал папку .libs в ...\VC\bin\amd64\ (path не расшарен)
оттуда запускаю:

lib.exe /machine:x86 /def:.libs\libgmp-3.def

получил libgmp-3.lib libgmp-3.exp
обещанного dll нету , ну и ладно, зато есть файл .libs\libgmp-10.dll
переименовываю в libgmp-3.dll

Чувствую неправильно сделал, хотя это мой 3-й проект на этих библиотеках, 2 предыдущих работали стабильно, но медленно => решил 3-й разобрать.


MPFR и MPIR скачал тут http://www.holoborodko.com/pavel/mpfr/#download

а вы эти библиотеки подключили к проекту?
Подключаю библиотеки:
Project->add existing item: libgmp-3.lib, mpfr.lib, mpir.lib
Properties->C/C++->Additional include directories: папки с gmp.h и mpfr.h
В папку ...test1\debug кидаю mpir.dll, mpfr.dll и переименованный libgmp-3.dll

Прошу сильно не ругаться, еще раз напомню, я – чайник, учусь быстро, гуглить умею, библиотеки не осилил (последняя глава Хортона), устал, если пропустил чего – ткните носом.

P.S. Код – вырезка из проекта по поиску простых чисел алгоритмом AKS, исходники тут https://github.com/phillipm/ecpp-aks-primality-proving
0
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,796
Записей в блоге: 17
22.06.2012, 03:15 #4
Если тема еще актуальна могу выложить проект...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2012, 03:15
Привет! Вот еще темы с ответами:

Одномерный массив в MPIR (длинная арифметика) - C++
Не получается записать длинные числа в массив Есть таблица значений функции 1 4 2 32 3 344 4 4460 5 66532 6 1118398 7...

Как подключить библиотеку MPIR к проекту в Visual Studio 2013 express? - C++
Подскажите, пожалуйста, как подключить библиотеку MPIR к проекту в visual studio 2013 express? Добавлено через 28 секунд Желательно...

Библиотека GMP - C++
Добрый день! Недавно слышал про библиотека gmp и возникли вопросы по поводу её использования. Не могли объяснить новичку как эту библиотеку...

Не собирается библиотека gmp - C++
Не уверен, что пишу в правильную ветку, надеюсь поправят, если что. Пытаюсь собрать gmp 6.1.1 для windows,следую вот этой инструкции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
22.06.2012, 03:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru