**2011年4月25日** ====== libpngの怪 ====== 64bit版[[software:falcnvrt:start]]を作るにあたってどうせなのでVC10ランタイム必須にしようと思い、いざ/MTを/MDに変えてビルド。\\ 出来上がったexeを見るとサイズ結構縮んでる、よしよし。 で、いつもの癖でバイナリ表示のexeの中をざっと覗いてみると\\ falcnvrt.exe^@png_access_version_number^@png_benign_error・・・\\ と何故かlibpngの関数がずらっと並んでる。\\ え?この書かれ方はエクスポートテーブル?\\ なんでうちのexeでlibpngの関数がエクスポート関数になってるんだ?\\ libpngはlibで静的リンクだから__declspec(dllexport)や.defなんか使ってないのに。\\ これだと使ってない関数さえエクスポート関数になってるからその分ファイルサイズもまだ無駄に大きいはず。\\ zlibもlibでリンクしているのにそっちはエクスポート関数にはなってないし。\\ Why? libpng.libの設定がおかしいのか?\\ 本体の設定がおかしいのか?\\ VC2010がおかしいのか? {{tag>falcnvrt プログラム libpng}} ~~DISCUSSION~~