Cプログラムをコンパイルするとき、gccはデフォルトで標準Cライブラリにリンクします。実行可能ファイルのサイズを最小限に抑えるために、完全なC標準ライブラリの代わりに、選択された関数、たとえばprintf
をリンクすることは可能ですか?gccが必要な機能のみをリンクする
3
A
答えて
5
ほとんどの伝統的なリンカーでは、静的ライブラリのリンクはオブジェクトファイルごとに行われます。 gccは通常、使用しているシステム上でシステムリンカを使用します。
伝統的に静的ライブラリは、ライブラリーを形成するオブジェクトファイルからなるだけでアーカイブファイルです。静的ライブラリをプログラムにリンクすると、ライブラリ内のオブジェクトファイルが抽出され、未解決のシンボルを解決するのに役立つライブラリのオブジェクトファイルによって生成されたものも含めて、未解決のシンボルを解決するのに役立ちます。理論的には
、標準ライブラリの実装は、機能ごとに1つのオブジェクト・ファイルで構成され、その後、あなただけが明示的に呼び出される関数だけになるだろう標準ライブラリ関数の間にはdepedenciesがなかった場合。実際には、明示的に呼び出すよりも多くの機能を使用する可能性があります。
ダイナミックリンクは完全に異なります。この場合、プログラムには、実行時にプロセスのメモリ空間全体にロードされる標準ライブラリ共有オブジェクトへの参照が含まれます。
関連する問題
- 1. 一部の機能でリンクが必要ない
- 2. gcc:なぜ数学ライブラリをリンクするには-lmフラグが必要ですか?
- 3. Javaの必要な機能を実行するURLのパラメータをリンクする
- 4. promiseで機能しない機能が必要です
- 5. 必要な機能の間にスコープが必要
- 6. クイズスコアリング機能が必要
- 7. fedoraでgcc 4.1.2が必要
- 8. GCC - 機器の機能オーバーヘッド
- 9. GCCのテンプレート機能
- 10. C++静的ライブラリの必要な部分のみをリンクする
- 11. 匿名機能には囲み括弧が必要ですか?
- 12. 必要なユーザボイスのページフィードバック機能
- 13. プッシュ機能が必要なのはなぜですか?
- 14. グループ別機能のヘルプが必要
- 15. 情報プロパティリストに必要なデバイス機能
- 16. iOSに必要なデバイス機能オートフォーカスカメラ
- 17. iPhoneに必要なデバイス機能 - マルチタッチ
- 18. Magentoヘルプが必要です - タイトルタグが機能しない
- 19. Unity2D:Sprite.Createが必要な機能を果たさない
- 20. Ajax loadmore関数が必要な機能を果たさない
- 21. ユニット迅速なキーチェーン認証が必要なプライベート機能のテスト
- 22. TinyMCE読み取り専用 - リンクが機能しない
- 23. 2つのtextoverlay要素をリンクするJava gstreamerが機能しない
- 24. ツリービューを模倣する必要があるフィールドバリデータの機能
- 25. Chrome拡張機能のポップアップページのリンクが機能しない
- 26. Cygwin gccにはどのようなライブラリタイプが必要ですか?
- 27. app.use()にミドルウェア機能が必要
- 28. リアクションネイティブにairplayとクロムキャスト機能が必要
- 29. ステータス削除機能ガイダンスが必要
- 30. 全身タグマウスオーバー機能が必要