Cプログラムをコンパイルするとき、gccはデフォルトで標準Cライブラリにリンクします。実行可能ファイルのサイズを最小限に抑えるために、完全なC標準ライブラリの代わりに、選択された関数、たとえばprintf
をリンクすることは可能ですか?gccが必要な機能のみをリンクする
3
A
答えて
5
ほとんどの伝統的なリンカーでは、静的ライブラリのリンクはオブジェクトファイルごとに行われます。 gccは通常、使用しているシステム上でシステムリンカを使用します。
伝統的に静的ライブラリは、ライブラリーを形成するオブジェクトファイルからなるだけでアーカイブファイルです。静的ライブラリをプログラムにリンクすると、ライブラリ内のオブジェクトファイルが抽出され、未解決のシンボルを解決するのに役立つライブラリのオブジェクトファイルによって生成されたものも含めて、未解決のシンボルを解決するのに役立ちます。理論的には
、標準ライブラリの実装は、機能ごとに1つのオブジェクト・ファイルで構成され、その後、あなただけが明示的に呼び出される関数だけになるだろう標準ライブラリ関数の間にはdepedenciesがなかった場合。実際には、明示的に呼び出すよりも多くの機能を使用する可能性があります。
ダイナミックリンクは完全に異なります。この場合、プログラムには、実行時にプロセスのメモリ空間全体にロードされる標準ライブラリ共有オブジェクトへの参照が含まれます。
関連する問題
- 1. gcc:なぜ数学ライブラリをリンクするには-lmフラグが必要ですか?
- 2. 必要な機能の間にスコープが必要
- 3. fedoraでgcc 4.1.2が必要
- 4. C++静的ライブラリの必要な部分のみをリンクする
- 5. GCC - 機器の機能オーバーヘッド
- 6. GCCのテンプレート機能
- 7. 必要なユーザボイスのページフィードバック機能
- 8. プッシュ機能が必要なのはなぜですか?
- 9. iPhoneに必要なデバイス機能 - マルチタッチ
- 10. iOSに必要なデバイス機能オートフォーカスカメラ
- 11. 情報プロパティリストに必要なデバイス機能
- 12. Magentoヘルプが必要です - タイトルタグが機能しない
- 13. Chrome拡張機能のポップアップページのリンクが機能しない
- 14. ステータス削除機能ガイダンスが必要
- 15. 全身タグマウスオーバー機能が必要
- 16. ツリービューを模倣する必要があるフィールドバリデータの機能
- 17. スーパーコンピューティングライブラリのリンクが機能しない
- 18. Zend framework 2ルーティングに必要なクエリパラメータが機能しない
- 19. ユーザープロファイル機能を推奨するためのテーブルコードデザインが必要
- 20. インテントが機能していないサービス。助けが必要
- 21. なぜPythonのsubprocess.check_outputが機能するには、shell = Trueが必要ですか?
- 22. データベース機能 - 初心者の助けが必要なハスケル!
- 23. アクションバーのバックボタンが必要に応じて機能しない
- 24. jQueryの必要なフィールドバリデーションが機能していません
- 25. phpがLinuxサーバで機能する必要があります
- 26. 機能を追加する必要があります
- 27. ipad/iphoneでリンクが機能しない
- 28. Internet Explorerでリンクが機能しない
- 29. フッターでリンクが機能しない
- 30. 一覧は/私はこのような機能を必要とする能力