Cygwin + MinGW + GCC 相談室 Part 5
レス数が950を超えています。1000を超えると書き込みができなくなります。
0975デフォルトの名無しさん
2011/04/05(火) 01:07:19.93その libraries:= 以下に書いてあるのが、Cのライブラリのパスだよ
gcc はそこに書いてあるパスを先頭から順に辿って目的のライブラリを探すよ
printf の場合は libc.a というライブラリに入っていて、パスを辿っていくと /usr/lib に見つかるよ
でもまぁそれはただのインポートライブラリで、実際のコード自体は共有ライブラリの方に入ってるよ
cygwin の場合は /bin/cygwin1.dll っていう共有ライブラリを使うよ
objdump -t /bin/cygwin1.dll ってやればシンボルの一覧が見られるから、その中に printf も入ってるのがわかるよ
objdump -d /bin/cygwin1.dll ってやれば中身を逆アセンブルすることもできるよ
objdump をインストールしてない? setup.exe 実行してパッケージの一覧から binutils を探してチェック付けとくといいよ
いつも #include している <stdio.h> は、察しの通り /usr/include にあるけど、 printf の宣言が書いてあるだけで、中身は無いよ
レス数が950を超えています。1000を超えると書き込みができなくなります。