C言語の注意: ライブラリの利用の指定

例文filter.cのように ヘッダーファイル<math.h>がインクルードされて いる場合には次のようにコンパイルし、実行形式のファイルを得てください。

    cc filter.c -lm

-lmはlibm.aというライブラリファイルをロードし、 filter.o (filter.cをコンパイルした結果)とリンクさせる という指定です。 filter.cでは発展問題として math.hで定義されている指数関数expなどを利用する予定にしており、 この関数のオブジェクトファイルがlibm.a (OSの設定によってはlibm.soなど) にあるので、上記のようにコンパイルする必要があるのです。

これはC言語において数学関数はあくまでオプショナルなものであり、 プログラム言語自体に常備しているものではない という立場をとっているためです。


1996-04-29; 2000-04-18; 2003-05-08; 2008-06-02
原著: 森島 済 (2008年現在、日本大学)
改訂、掲示: 増田 耕一 (2008年度_首都大学東京_地理学コース_非常勤講師)
[目次へ]