タグ

Cとlinkに関するItisangoのブックマーク (2)

  • Linux共有ライブラリの簡単なまとめ - wagavulinの日記

    Linuxで共有ライブラリ(*.so)を作るようになったのでちょっと勉強してみた。今までは使うだけだったので、以下のようなことは知っていた。作るときはgccの-sharedオプションを使う。使うときはgccの"-lライブラリ名"でリンクするライブラリを指定する。リンク時のライブラリ探索パスは-Lオプションで指定する。実行時のライブラリ探索パスは/etc/ld.so.confに書いてあるディレクトリ。環境変数LD_LIBRARY_PATHでも指定可能。ライブラリを作るときは、.cから.oを作るときに-fPICをつけるといいらしい。新しくライブラリを入れたときはldconfigするといいらしい。逆に今まであまり知らなかったこと。ほとんどのライブラリはlibhoge.so, libhoge.so.1, libhoge.so.1.1のように3つくらいのファイルがあり、libhoge.soやlibh

  • [C++] extern "C"を使わず頑張った-ウンコード・マニア

    実際はもっと多くのパラメータがある関数をexternしていて、subiiiii()くらいになっていました。 Makefileでシンボルテーブルを出力するようにしていたので、苦し紛れにそれを見たらしい。 [main.c] extern int _Z3subii(int, int); int main(){ printf("%d\n", _Z3subii(3,5)); return 0; } 〜〜〜〜 [sub.cpp] int sub(int p1, int p2){ return p1*p2; } 使い方ヒント: 「これは臭う」という行を見付けたら、各行のをクリックしてマーキングしておきましょう(要Twitter OAuth認証)

    Itisango
    Itisango 2012/08/19
    まさかこんなことをする人がプロジェクトの中にいるなんて、ふつうは予測できませんね。
  • 1