- ベストアンサー
共有ライブラリの作成について
呼び出した関数名の名前を表示させる、 テスト用共有ライブラリ「testLib.so」を作成しようと思っています。 そしてそのライブラリを他のプログラムから呼び出すというものです。 以下、内容。 int test1(void){ printf("test1 program."); } int test2(void){ printf("test2 program."); } int test3(void){ printf("test3 program."); } 【パターン1】 上記関数毎でファイル分けし、 test1.c、test2.c、test3.c と言うファイルを作成。 これらの各オブジェクトを取り込んで共有ライブラリを作成するパターン。 【パターン2】 全ての関数を「testDisp.c」と言うファイルに記述し、 このオブジェクトファイルで共有ライブラリを作成するパターン。 上記パターン1と2では用途によって使い分け方法があると言う話を先日聞いたのですが、どの様な場合に1、どの様な場合に2のパターンを使用するのでしょうか。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19981)
回答No.2
お礼
質問を締め切らせて頂きます。 お二方のご意見、大変参考になりました。 回答して頂きありがとうございます。 甲乙つけ難く、 一番初めに回答下さった方を良回答とさせて頂きました。
補足
と言う事は【パターン1】の場合、実行ファイルのサイズは小さくなりますが、シンボル解決のオーバーヘッドの増加やコンパイラの最適化に影響すると言う事により、 結果として処理時間、メモリ使用量、消費電力の増加に繋がる可能性があるという解釈で宜しいでしょうか。 再度見て頂けましたら、お手数ですが回答の程宜しくお願い致します。