2010-11-26 6 views
1

現在、私はC++製品を開発中です。それはかなりの柔軟性を持つように設計され、ますます大きくなっています。現在は、ソースコードとしての一部、静的リンクライブラリとしての一部、まったくない部分など、製品の一部を提供したいプロジェクトに協力する予定です。C++の「静的プラグイン」システム(ビルドシステム経由)

私は、両方のプロジェクトで使用されているすべてのソースファイルの1つのバージョンを保持したいと思います。そのため、すべてのファイルを内部的に「完全な製品」にするためには、また、これらのファイルの一部を(今は毎時)抽出し、このサブセットを作業単位として他の人に渡すことができます。 (私たちはこれらのファイルが協力プロジェクトで変更されていない、我々はそこだけのものを追加することを確実にすることができると仮定します。)

私は

  • 部分ができるように、疎結合されたソフトウェアアーキテクチャを必要とすると思いますシステムを壊すことなく取り外すことができます。私は、プラグインシステムから学ぶことができると思うので、ここでは「静的」プラグインという言葉は適切だと思いますが、動的にロードする必要はありません。静的な方法でリンク/構築できます。私と私の同僚に、ここでクラスを挿入したり、クラス間にカップリングを導入したりする代わりに、何らかのプラグインを追加することでシステムを拡張することができれば幸いです。
  • 構築するプラグインを選択し、必要なものだけを抽出して新しいサブセットを「解放」することで私をサポートするビルドシステム。

役立つインターネットリソースはありますか。検索するキーワードは何ですか?

これを処理する方法についてご意見はありますか?

答えて

4

ドブズ博士がチェックアウトしたいと思う興味深い記事シリーズがあります。私はそれが通常のダイナミックリンクに加えてプラグインの静的リンクをサポートしていることを覚えているようです。 Building Your Own Plugin Frameworkをチェックしてください。

幸運を祈る!

http://github.com

がソースを管理する:

0

主に、あなたはgitのようなものが必要。静的か否かにかかわらず、 "プラグイン"を管理するには、既にこれを行っている既存のシステムを調べる必要があります:Pythonがどのようにそれを行うのかを調べることをお勧めします。

私が知っている最高のビルドシステムはPythonです。忘れてしまいました:)あらかじめビルドされているものはErick Tryzelaars fbuildです(githubから入手できます)[私はそれを使用しているので最高だと思います]

関連する問題