ライブラリのリンク


ユーザーの (コンソール) アプリケーションで GrWin グラフィクス・ライブラリを利用するには,MinGW / mingw32 / cygwin / uwin の g77 や gcc によるリンク時のオプションとして

-Wl,--subsystem,console -lGrWin -mwindows
を指定します。 長いので make やバッチ・ファイルを利用するとよいでしょう。 例えば,polygon.f をコンパイルするには同梱のgwf77.bat を利用して
gwf77 polygon
などとできます。 ここでgwf77.batに渡す第一引数には拡張子(.f)を付けないでください。 例として,abc.f xyz.c から abc.exe を作る場合には
gwf77 abc xyz.c
としてください。 aaa.c から aaa.exe を作る場合は
gwgcc aaa
とします。 Fortran のときと同様に,第一引数についてだけ拡張子を省略する必要があります。

C または C++ 言語で書かれた Windows アプリケーションの場合には 'console' オプションを 'windows' に置き換えて

-Wl,--subsystem,windows -lGrWin -mwindows
を指定します。このためのバッチ・ファイル gwgccw.bat が用意されていて,使い方は gwgcc.bat と同じです。

なお,Fortran 用のライブラリ・ルーチンは内部で C のルーチンを call している場合が多いので,C 言語でプログラミングを行ったほうが効率が良いでしょう。

VC++ や VF をコンソール・ウインドウで使うためのバッチ・ファイル gwcl.bat (C, CUI用), gwclw.bat (C, GUI用), gwdf.bat (Foertran, CUI用) など, 各コンパイラシステム用のバッチファイルが用意されていますので、必要に応じてエディタなどでバッチファイルの内容を参照してください。


(注意)

特定の漢字を使うとコンパイル時に警告メッセージが現れ,期待通りの結果が得られません. これは漢字をサポートしていない処理系で生じる一般的な問題で、 2バイト目にエスケープ文字を表す「円記号」 '\' (0x5C) が含まれる特定の2バイト文 字をそのまま文字列に使うと、'\'とその次の1バイトがエスケープ文字と認識されてし まうことによります。

この問題はそのような漢字を,1バイト目は16進表記し,2バイト目は「円記号」 を表すエスケープ文字 '\\' を使って表すことで回避できます.たとえば、'能'の シフト JIS コードは '0x945C' なので

    WRITE(*,*) '能率 = '
などとするとこの問題が生じますが、
    WRITE(*,*) '\x94\\率 = '
または
    WRITE(*,*) '能\率 = '
で、期待通りの結果が得られます。C の場合も同様です。詳しくは、 ホームページ「Q and A」 を参照してください。



Tsuguhiro TAMARIBUCHI <tamari@spdg1.sci.shizuoka.ac.jp>

Last modified:  Wed Jun 18 7:00:01 JST 2003