多倍長ライブラリ GNU Multi-Precision Library(GMP)入門


GMP は多倍長の整数、有理数、浮動小数点数を扱うためのフリーソフトウェアです。この記事では GMP のインストール方法と基本的な使い方についてまとめます。

実験環境

VMware Player 上にインストールした CentOS に GMP をインストールしました。

VMwareVMware Player 4.0.1
ゲストOSCentOS 6.2 x86

この記事を書いている時点における VMware Player の最新版は 4.0.2 ですが、これにはまだ VMware Tools が提供されていないため、あえて VMware Player 4.0.1 を使用しています。

GMPのインストール

はじめから gmp-4.3.1-7.el6.x86_64 がインストールされていましたが、それはそのままにしておき、 改めて最新版をインストールしました。

  1. ダウンロード

    GMP の WEB サイトからダウンロードして解凍する。 $ wget ftp://ftp.gmplib.org/pub/gmp-5.0.4/gmp-5.0.4.tar.bz2 $ tar -xjf gmp-5.0.4.tar.bz2
  2. インストール

    解凍したフォルダへ移動し、次のコマンドを順番に実行する。 $ ./configure $ make $ make check $ make install
  3. 環境変数の設定

    実験した環境では、ここまでの作業で GMP を利用したプログラムをコンパイルできるようになりました。 しかし、実行すると以下のエラーが発生しました。

    $ ./a.out ./a.out: error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory

    これは、共有ライブラリの検索パスに GMP をインストールしたディレクトリ `/usr/local/lib` を登録することで解決します。 例えば、次のように共有ライブラリの場所を表す環境変数 `LD_LIBRARY_PATH` に追加すれば良いです。

    $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

GMP の使い方

基本的な使い方を説明します。
GMP の詳細については以下を参照してください。
http://gmplib.org/manual/

  1. サンプルコード

    gmp_example.cpp
  2. コンパイル方法

    次の様にオプションを指定してコンパイラを実行します。 $ g++ -lgmp gmp_example.cpp

参考にしたサイト

GMPの使い方

カテゴリー: 記事 タグ: , パーマリンク

コメントを残す