自分用のメモ。幾度となくCOMの仕様を振り返って、使えるものが無いか探してしまう自分への戒め。
C++のプロジェクトで、パフォーマンスに妥協をせず、かつコンパイル、リンクの速度も維持して、ランタイムの依存性が無く(異なるバージョンのコンパイラでビルドされたモジュールと結合でき)、かつ複数の言語から使用可能な公開APIのインターフェースを突き詰めていくとCOMになる。しかし21世紀の今となっては新たにCOMのプロジェクトを始めるくらいなら、.NETのラッパを書いたほうが良い。
COMのインターフェースベースのAPIだけ参考にして、純粋なC++でライブラリを記述するのが現実的な解と思われる。