雑記帳

ソフトを中心に雑記を書いてる割とすぐ転職したい人。コメント貰えると私が喜びます。

EssentialCOM

会社の先輩に借りて読み始めた。

  1. 1章 より良いC++としてのCOM
    • C/C++ってソースコードの流用が考えられてる。
    • 一般的な流用の仕方は普通ソースコードを配布することだ。
    • でも、そうすると、同じライブラリコードが別々のアプリケーションに入ってしまい、要領的に無駄がかなり出るし、クラスとかでモジュール管理してるのに意味ないじゃん。
    • この問題を解決できる技術にDLLというものがある。しかし、C++はバイナリレベルではマトモな標準が無いから、同じコンパイラじゃないとDLLのリンクエラーが発生するので問題だ。
    • カプセル化にも問題がある。C++はバイナリレベルでのカプセル化は考慮されていない。(DLLのバージョン管理の話で喩え話があった。結局、DLLバージョンナ番号付きで管理されていて意味ないじゃんという話。)
    • クラスのインターフェースと実装を分離し、ハンドルクラスにて実装を管理する実装にすれば解決するが、インターフェースから実装呼び出しの転送ルーチンがオーバーヘッドになるなど、問題は無い訳ではない。

とりあえす、ここまでで1章の1.5が終了。
まだ実装云々に入ってないからか、読みやすい。