トップページ -> インストール,設定,利用 -> Cygwin, MinGW の活用 -> C プログラムから GSL (GNU Scientific Library) の機能を呼び出すプログラムの見本と実行手順
[サイトマップへ], [サイト内検索へ]

C プログラムから GSL (GNU Scientific Library) の機能を呼び出すプログラムの見本と実行手順

この Web ページでは,Eclipse を使い,GSL (GNU Scientific Library) の機能を呼び出すような C プログラムを作る手順を図解で説明する.


前準備

  1. Cygwin の Web ページの記述に従って,Cygwin のインストールが済んでいること.
  2. BLAS のインストール
  3. 「Windows で GSL (GNU Scientific Library) をビルドとインストール」の記述に従って,GSL のインストールが済んでいること.

    (オプション)Eclipse を使う場合

    1. Eclipse のインストールが済んでいること.
    2. 「Eclipse に C/C++ 開発ツール (CDT) をインストール」の Web ページの記述に従って,CDT プラグインのインストールが済んでいること.

    なぜ GotoBLAS をインストールするのか

    GSL には,BLAS の機能が標準で添付されている. 一方で,BLAS の機能を実装したプログラムは,いろいろあります. GotoBLASATLAS が有名です. GSL を使うとき,BLAS の部分を, GotoBLAS や ATLAS に入れ替えることは簡単です.

    以下,2000×2000の行列を2つ作り,乱数を使って値を設定することとと,行列の掛け算を行う C のプログラムを GSL を使って作ってみました.

    で比較します.

    ■ ハードウエアとソフトウエア

    実行結果

    [image]

    [image]

    結果からいえること:性能には明らかな差がある.GotoBLAS や ATLAS の方が早い.出てくる答えは同じ (一部分を diff コマンドで確認)

    使用したプログラム

    [image]
    (画像をクリックすると,プログラムのソースコードがテキストファイル形式で開きます).

    なぜ GSL のインストールで,ソースコードを使うのか?

    「Windows で GSL (GNU Scientific Library) をビルドとインストール」の Web ページでは,GSL の Cygwin パッケージを使わずに,ソースコードからビルドとインストールしている.


    非対称行列の固有値,固有ベクトル(プログラムの見本)

    [image]
    (画像をクリックすると,プログラムのソースコードがテキストファイル形式で開きます).

    実行結果

    [image]

    Eclipse での GSL プログラム開発手順

    Eclipse を使い,新規プロジェクトの作成,C プログラムの作成, 保存, 実行を試す.

    あらかじめ決めておく事項

    プロジェクトの新規作成

    下記の手順で,プロジェクトを新規に作成する.

    プロジェクトを作成すると,ワークスペースのディレクトリ(C:\workspace)の下に, プロジェクトのディレクトリができる.プロジェクトのディレクトリの下には,デフォルトでは,Debug, src の2つのサブディレクトリができる.

    [image]
    1. プロジェクトの新規作成の開始

      ファイル」→「新規 (New)」→「プロジェクト (Project)」
      または,パッケージ・エキスプローラ内で,右クリック→「新規 (New)」→「プロジェクト (Project)」

    2. C」の展開

      新規プロジェクトのウインドウが開くので, 「C」を展開する.

      [image]
    3. C プロジェクト」の選択

      展開した「C」の下にある 「C プロジェクト」を選び,「次へ」をクリック.

      [image]
    4. プロジェクト名とプロジェクトタイプの指定

      新規Cプロジェクトのウインドウが開くので,プロジェクト名プロジェクト・タイプを指定する.

      • プロジェクト名

        プロジェクト名には好きにつけて良いが,全角文字は避ける.分かりやすい名前が良い.

      • プロジェクトタイプ

        static ライブラリー,共有ライブラリー,実行可能,Makefile プロジェクトから選べる.ここでは,実行可能を展開し,Hello World ANSI C プロジェクト選ぶ.

      終わったら,「次へ」をクリック

    5. 基本設定

      基本設定はデフォルトのままでよい. 「次へ」をクリック

      [image]
    6. 構成の選択

      基本設定はデフォルトのままでよい. 「完了」をクリック

      [image]

    ソース・ファイルの作成

    プロジェクトのプロパティーの設定

    プロジェクトのプロパティーを設定し,libgsl の機能が使えるようにする.

    ビルド

    実行

    デフォルトでは,実行ファイルは, C:\workspace\Hello\Debug\Hello.exe に出来る.(「Hello」はプロジェクト名)

    Eclipse のプロジェクト・エクスプローラで 「Debug」を展開.Hello.exe を右クリックし,「実行」から「ローカル C/C++ アプリケーション」を選ぶ. 数十秒ほど待つと,コンソールに大量に結果が出てくる.赤いボタンを押して,プログラムを強制終了させる.

    [image]

    ※ 実行がうまくいかない場合, C:\cygwin\bin\cygwin1.dll を C:\Windows\System32 にコピーすることを忘れている可能性がある.


    本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

    問い合わせ先: 金子邦彦(かねこ くにひこ) [image]