Понедельник, 10.11.2025, 23:14
Приветствую Вас Гость | RSS
_nast
Главная | Каталог статей | Регистрация | Вход
Форма входа

Меню сайта
Категории раздела
Длинная арифметика [2]
CUDA [6]
OpenCL [4]
СТАТЕЙКИ [3]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Поиск
Друзья сайта
  • Природа Орловщины
  • Главная » Статьи » Длинная арифметика

    Сборка GMP под Windows

    GMP - это свободная библиотека для производства различных арифметических действий над целыми, рациональными и действительными числами. Разрядность чисел, с которыми работает библиотека ограничивется памятью самой машины. На многих сайтах пишут что GMP самая быстрая.

    В GMP входят следующие категории функций:

    • Функции для работы с целыми числами (mpz).
    • Функции для работы с рациональными числами (mpq).
    • Функции для работы с числами с плавающей запятой (mpf).
    • Низкоуровневые функции для работы с натуральными числами (mpn).

    Ну что же попробуем собрать GMP под Windows. Для этого надо скачать кое какие дистрибутивы, для начала сам GMP http://gmplib.org/  (текущая на данный момент 5.0.5), затем mingw - http://sourceforge.net/projects/mingw/files/ (лично я его не качал, т.к. я любитель Qt то я пользую mingw из поставки Qt Creator), затем MSYS - http://www.mingw.org/wiki/msys (здесь ссылка на свежак). ОК теперь все это дело устанавливаем, начинаем с mingw - ставим в c:\mingw (но это  у меня), затем MSYS(во время установки указываем каталог с mingw, но если вы этого не сделали ни беда, в папке etc есть файлик fstab.sample, залазте в него, редактируйте пути и переименовывайте в fstab). Распаковываем архив с GMP в C:\MinGW\msys\1.0\home\agapiy (C:\MinGW\msys\1.0 - папка с установленным MSYS, home\agapiy - рабочая папка пользователя ("agapiy"-имя пользователя)). Кликаем по иконке MSYS на рабочем столе, появляется консоль. Также MinGW и msys можно установить через mingw-get-inst (что гораздо проще).

    mkdir gmp #создаем каталог, сюда будут сбрасываться результаты сборки

    cd gmp-5.0.5 #переходим в каталог с сырцами GMP

    Сначало собирем для MinGW под Win (результат статическая библиотека libgmp.a)

    ./configure --prefix=/home/agapiy/gmp #конфигурируем GMP перед сборкой, /home/agapiy/gmp куда записываем результат компиляции, у вас скорее всего будет другая папка.

    Идем курить...

    Если без ошибок продолжаем дальше.

    make #собираем

    make check #проверяем (на сайте разработчика это рекомендуют сделать)

    make install #устанавливаем в папку GMP

    make clean #убираемся

    Итак, теперь в  /home/agapiy/gmp были созданы папки include (gmp.h), lib(libgmp.a и libgmp.la) и share копируем файлы в соответствующие паки MinGW

    Теперь собирем dll

    ./configure --prefix=/home/agapiy/gmp --disable-static --enable-shared

    make && make check && make install && make clean

    В  /home/agapiy/gmp добавилась папка bin(libgmp-10.dll (хотя программа собранная VS2010 требует libgmp-3.dll и libgmp-3.lib - может кто объяснит почему так??????, просто переименуйте libgmp-10.dll в  libgmp-3.dll)), в lib добавился libgmp.dll.a 

    В текущей папке была создана папка .libs, в ней был создан файл libgmp-10.dll.def (переименуйте его в libgmp-3.def), его мы и передадим утилите lib из VC, для сборки из него файла libgmp-3.lib. Действуем

    cd .libs

    lib /machine:x86 /def:libgmp-3.def

    Результат сборки здесь (собирал под Win7 32, AMD Phenom X3 8650).




    Источник: http://cs.nyu.edu/exact/core/gmp/
    Категория: Длинная арифметика | Добавил: _nast (30.10.2009) | Автор: _nast
    Просмотров: 48144 | Комментарии: 62 | Рейтинг: 5.0/4
    Всего комментариев: 4
    4 ClarkFeryhealere  
    0
    Квартирный переезд http://procashcompany.ru/communication/forum/user/43481/ грузоперевозки белгород воронеж
    С нашей компанией переезжать http://svaomos.news/forum/user/4518/ грузовые перевозки заполярный в новую квартиру свободно — круглосуточно и оперативно поможем упаковать, загрузить и доставить http://www.textron-msk.ru/forum/user/1000969/ грузоперевозки армавир москва вещи. Опишите ситуацию менеджеру, дабы подобрать https://hair.su/forum/user/716865/ грузовые перевозки автотранспорта тариф — через экономичной перевозки с грузчиками http://hosting27.ru/forum/index.php?PAGE_NAME=profile_view&UID=20401 грузоперевозки барнаул москва предварительно сложных составных услуг, включая сборку и установку мебели.
    Грузовое такси http://telefon.com.ua/communication/forum/?PAGE_NAME=profile_view&UID=1232852 грузоперевозки газель верхняя пышма
    Грузоперевозки http://economist.kz/communication/forum/user/189876/ грузоперевозки гомель минск становятся проще, когда вызываешь такси чтобы вещей. Мобильный грузовик https://lightmagic.by/forum/user/28193/ грузовые перевозки скота хорош для поездок сообразно городу и подается круглосуточно в течение 20 минут. В него поместится до 1.5 тонн груза http://rostransport.com/forum/?PAGE_NAME=profile_view&UID=60488 грузоперевозки межгород отзывы и самовластно доверитель — отправляйтесь в кабине водителя, пользуйтесь скидками на перевозку http://ananasspb.ru/communication/forum/user/90281/ грузоперевозки москва газель от двери предварительно двери и услуги грузчиков.

    3 Zacharychona  
    0
    http://pillsgen.site sioux , adviser , analytic

    2 Zacharychona  
    0
    http://pillsgen.site consideration , additivity , tiller

    1 Basil Peace  
    0
    Цифры после дефиса (libgmp-10.dll) означают версию библиотеки. Вообще говоря, программа, требуюшая libgmp-3, не обязана заработать с libgmp-10.

    Имя *:
    Email *:
    Код *:
    Copyright MyCorp © 2025
    Конструктор сайтовuCoz