2017-08-07 6 views
0

私はしばらくRedHawkを使用していましたが、新しいコンポーネントプロジェクトウィザードは常に実行可能ファイルに基づいてビルドされたプロジェクトを作成しました。ここで新しいコンポーネントプロジェクトを作成すると、共有ライブラリが構築されます。私は新しいプロジェクトを作成し、変更なしで(ポートやプロパティなどはなく)コードを生成し、共有ライブラリを構築することができます。共有ライブラリの形式でコンポーネントを作成するという既定の新しいオプションがありませんでしたか?私は、作成またはビルド時に共有libaryと実行可能ファイルを選択するオプションを見つけることができません。実行ファイルを選択するにはどうすればよいですか?私は最近、RedHawk 2.1にアップグレードし、ほとんどがデバイスで動作していて、新しいデバイスプロジェクトはまだ実行可能ファイルを生成しています。私は更新以来、新しいコンポーネントプロジェクトを試していないかもしれません。これは2.1の新機能ですか?実行可能ではなく共有ライブラリとして作成された新しいコンポーネントプロジェクト

答えて

2

共有ライブラリの出力はREDHAWK 2.1のデフォルトであり、新しい共有アドレス空間モデルを使用して「高性能I/OをサポートするためにコンポーネントモデルとBULKIOを大幅に強化」しています。 redhawksdr.orgウェブサイトのリリースアナウンスをご覧いただくか、詳細についてはコンポーネントモデルのドキュメントhereをご覧ください。

+0

申し訳ありません。私は2.1のリリースノートでこれを気付かず、コンポーネントモデルのドキュメントについて知っていませんでした。これはうまく説明され、機能は私が期待したほどです。私はこのオプションが素晴らしいと思いますが、デフォルトであることに気をつけませんが、文書が示唆しているように、私はまだいくつかのコンポーネントを自分のメモリ空間で動かしたいと思っています。このドキュメントでは、コンポーネントがライブラリであっても、それ自身のメモリ空間で実行することができますが、このオプションがどのように選択されているか分かりません。どのようにして自分のスペースにコンポーネントを実行するのですか? –

+0

以前の実行可能なパターンに戻したい場合は、spdファイルを変更してcode type = "SharedLibrary"をcode type = "Executable"に変更するだけで、ローカルファイルとエントリポイントを修正する必要があるようです共有オブジェクトではなく実行可能ファイル名(例えば.soを両方から削除するなど)。新しいビルドファイルを作成するために再生成する必要があります。 –

0

共有ライブラリコンポーネントを独自のプロセスとして起動するには、Pythonサンドボックスのlaunch関数を使用し、shared = Falseを設定します。ドメイン/波形のコンテキストで共有ライブラリコンポーネントを独自のプロセスとして起動するAPIはありません。

(共有ライブラリコンポーネントがホストされている)ComponentHost内のスレッドは、そのComponentHostで実行されているコンポーネントに合わせて名前が変更されます。

関連する問題