0

以前の質問に詳細を投稿しています。Linux/Mac を既にサポートしている ac/c++ コードベースを VxWorks に移植する必要があります。アプリケーションは、ソケット、pthread、mutex、およびクリティカル セクション処理 API を使用します。

私は VxWorks の初心者です。発生する可能性のある問題を教えてください。

4

1 に答える 1

2

VxWorks は標準のソケット操作を提供するので、それで問題ありません。
OS の一部でもある pthread 互換ライブラリがあります。pthread コンポーネントを含めるだけです。

ミューテックスとクリティカル セクション処理 API の詳細がなければ、詳細を提供することは困難です。

VxWorks にはミューテックスとクリティカル セクション用の独自の API がありますが、POSIX インターフェイスも提供します。VxWorks のバージョンが異なれば、POSIX 標準のバージョンも異なります。

使用している VxWorks のバージョンによっては、C++ STL を大量に使用すると問題が発生する場合があります (特に古いバージョンの vxWorks を使用している場合)。

C++ では、静的クラス インスタンスに注意する必要があります。正常に動作しますが、静的にインスタンス化する必要があり、.data セグメントに配置する必要があるため、プログラムのサイズが大きくなると思います。

作成および破棄される動的 C++ オブジェクトが多数ある場合は、ヒープにさらに負荷がかかります。組み込みシステムのメモリ フットプリントが小さい場合、問題になる可能性があります。

スタック上にオブジェクトを作成する場合は、スレッド (作成時に固定サイズのスタックが初期化される) を作成するときに、これを考慮することを忘れないでください (構造体を使用して C で同じことを行う必要があります)。

于 2009-06-10T00:20:19.877 に答える