Object-cのインポートとインクルードの違いが気になる
ところで、動的リンクと静的リンクの違いについてはよくわかりません。
静的リンクでライブラリを使用する場合、プログラムに必要なコードをライブラリからコピーしてリンクするということですか? その後、私のプログラムはライブラリのコードで動作します。
動的リンクでライブラリを使用する場合、それは、プログラムの実行中にライブラリからプログラムに必要なコードのみを参照することを意味します。その後、私のプログラムは「参照コード」で動作します。
Object-cのインポートとインクルードの違いが気になる
ところで、動的リンクと静的リンクの違いについてはよくわかりません。
静的リンクでライブラリを使用する場合、プログラムに必要なコードをライブラリからコピーしてリンクするということですか? その後、私のプログラムはライブラリのコードで動作します。
動的リンクでライブラリを使用する場合、それは、プログラムの実行中にライブラリからプログラムに必要なコードのみを参照することを意味します。その後、私のプログラムは「参照コード」で動作します。
#import
vs.#include
および静的 vs. 動的リンクは、まったく無関係な 2 つのトピックです。
#include
ファイルの内容を別のファイルに直接インクルードし、C で利用できます (したがって、Objective-C でも利用できます)。ただし、ファイルがまだインクルードされていない場合にのみ、ファイルの内容をインクルードすることが一般的です。(たとえば、同じ変数を 2 回宣言するのは望ましくありません。コンパイラ エラーが発生します!) そのため、Objective-C に が追加されました。まさにそれを行います:ファイルがまだ編集されていない場合にのみ、ファイルの内容を含めます。何を使用すればよいかわからない場合は、おそらく を使用する必要があります。#import
#import
#import
静的リンクと動的リンクは完全に異なります。リンクはコンパイル後に行われるため、ソース コードの一部である#import
とに関連している可能性はありません。#include
ただし、リンクに関するあなたの考えは正確です。静的にリンクされたライブラリはアプリに含まれており、ユーザーはそれらを必要としません。動的にリンクされたライブラリは参照され、アプリを実行するにはユーザーのマシンに存在する必要があります。