それは理論的な疑問です。lib.hという2つのファイルだけの小さなライブラリがあるとします。実装コードであるlib.cppからのヘッダー。慣例により、C ++ではlib.hをlib.cppに含めます。つまり、lib.hは「lib.cpp」の存在を「知りません」。したがって、プログラムでライブラリを使用するには、myprogram.cppとmyprogram.hを使用し、「lib.h」だけを含める必要があります。では、プログラムがヘッダーの実装をどのようにロードするのでしょうか。ヘッダーファイルが実装ファイルの存在について「知らない」場合はどうなりますか?
質問する
121 次
2 に答える
2
lib
たとえば、ファイルについてlib.lib
リンカに伝える必要があります。lib.so
.cpp
ファイルはオブジェクト ファイルにコンパイルされ、次に.lib
or.so
ファイルにコンパイルされます。プロジェクトでは、からのファイルmyprogram.cpp
についてリンカに通知する必要があります。.lib/.so
lib.cpp
于 2012-06-25T20:31:19.507 に答える
2
通常、実装をライブラリにコンパイルし、プログラムをそのライブラリにリンクします。したがって、実装コードが実際にヘッダーにあるか、ヘッダーに含まれているために配布されているファイルにない限り、「ヘッダーファイルを含むだけで実装コードが存在する」という主張は誤りです。
于 2012-06-25T20:32:24.320 に答える