gccでわざわざ-lmのようにライブラリを指定しなきゃいけない理由は?

解決済みの質問

gccでわざわざ-lmのようにライブラリを指定しなきゃいけない理由は?

gccでわざわざ-lmのようにライブラリを指定しなきゃいけない理由は?
質問は題名の通りです。

例えばmath.hに
 #pragma comment(lib, "libm.a")
のように元々書いてあれば
自分で指定せずに済むのではないでしょうか?
(gccがpragmaをサポートしているかは知りませんが。。。)

なぜなのでしょうか。
教えてくださいm(_ _)m

投稿日時 - 2008-06-10 23:21:07

QNo.4090971

暇なときに回答ください

質問者が選んだベストアンサー

ソースを書く人とコンパイルする人は同じとは限らないし、数学ライブラリが libm.aだと限ったわけでもないから、ソースにライブラリのファイル名を書くのはダメ。

ってことでしょう。

投稿日時 - 2008-06-11 11:46:47

お礼

ヘッダに対応するライブラリの名前は決まってなかったんですね・・・なるほど・・・

投稿日時 - 2008-06-12 06:12:33

0人が「このQ&Aが役に立った」と投票しています

回答(4

ANo.3

複数のライブラリをリンクするときリンクの順番とかも影響するのでそのときは困りますね。

投稿日時 - 2008-06-11 09:31:20

お礼

なるほど、そういえばgccではリンクの順番が影響を受けるんですね。
まだよくわかってないのですが。。。

投稿日時 - 2008-06-12 05:52:24

ANo.2

歴史的経緯でしょうね。原初のCコンパイラからの継続性というか。
ライブラリはMakefileで指定するものという使い方が定着した後では、ヘッダでライブラリを指定されては混乱します。

あとは、libmではありませんが、同じヘッダファイルで、何種類かのライブラリを差し替えて使うようなケースがあったと思うのですが、ちょっと思い出せません。

投稿日時 - 2008-06-11 02:29:04

お礼

なるほど、確かに混乱しますね。

> あとは、libmではありませんが...
そんな場合もあるのですね。知りませんでした。

投稿日時 - 2008-06-12 05:49:45

ANo.1

リンカが理解してくれないから無意味です.

投稿日時 - 2008-06-11 01:40:20

新着

あなたの愛車は今いくら?

愛車無料査定Q&A特集

ニキビケアQ&A特集

スッピンでも輝くモテ美肌に。

教えて!みんなの婚活Q&A特集

みんなの婚活体験談、秘訣がいっぱい!

お部屋探しはCHINTAI

マチから探せる新しいお部屋探し!

注目ピックアップ

OKちゃんねる

OKWaveからみなさんに質問!

OKWave2009年ランキング

話題のQ&Aをランキングでご紹介!

スタッフブログ

知って得する!お得な情報をお届け!

おすすめリンク