質問がばかだと私はすみませますが、私は周りでグーグルでこれについて何も見つかりませんでした。すべてのコードがコンパイルされ、最終バイナリに含まれていますか?
何百ものメソッドを持つクラス拡張を作成し、そのクラスをプロジェクトに含めるとします。その拡張から、私はちょうど2つまたは3つのメソッドを使用すると仮定します。クラス拡張には数百のメソッドがあることに注意してください。
コードをコンパイルすると、バイナリには何が含まれますか?クラスエクステンションから使用したメソッドだけでなく、その特定のプロジェクトで使用されていないメソッドさえも使用しましたか?
静的リンクと動的リンクのどちらを使用するかによって異なります。ダイナミックリンクでは、使用されたシンボル名のみが含まれます。静的リンクでは、 '--no-whole-archive'のようなオプションを使うと、' .o'ファイルだけがインクルードされます。それ以外の場合、 '.a'ファイル全体がインクルードされます。また、直接使用/オーバーライドするメソッドが呼び出されるだけでなく、これはまたvtablesやものについてです。ありがとう。 –
ありがとう。これを答えてください、私は受け入れることができます。 – Phox