質問: 例えばHello worldを表示するプログラムなら ``` #include int main() { std::cout << "Hello world" << std::endl; } ``` になると思うのですが、iostreamのファイルには実装は書かれていないですよね? コンパイルするときには明示的にiostreamの実装ファイルを指定しなくてもコンパイルできると思うのですが、どのような仕組みになっているんでしょうか? また自作のライブラリで同様のこと(明示的にリンクしたり、実装ファイルを指定しないこと)はできるのでしょうか?
回答: こんにちは。 iostreamは、標準ライブラリに含まれます。 そして、標準ライブラリは多くのC++処理系でデフォルトでリンクされますよ。 > > また自作のライブラリで同様のこと(明示的にリンクしたり、実装ファイルを指定しないこと)はできるのでしょうか? > > > 標準ライブラリは暗黙的にリンクされてますが、それと同じことは難しいと思います。 明示的なリンクは簡単です。例えばgccなら-lオプションで指定すればOKです。