私は以前の質問に詳細を投稿しています。すでにLinux/Macをサポートしているc/C++コードベースをVxWorksに移植する必要があります。このアプリケーションは、socket、pthread、mutex、クリティカルセクションハンドリングAPIを使用します。VxWorksへの移植の問題
私はVxWorksをかなり新しくしています。発生する可能性のある問題は何かを教えてください。
私は以前の質問に詳細を投稿しています。すでにLinux/Macをサポートしているc/C++コードベースをVxWorksに移植する必要があります。このアプリケーションは、socket、pthread、mutex、クリティカルセクションハンドリングAPIを使用します。VxWorksへの移植の問題
私はVxWorksをかなり新しくしています。発生する可能性のある問題は何かを教えてください。
VxWorksは標準的なソケット操作を提供しますので、問題はありません。
OSの一部でもあるpthread互換ライブラリがあります。単にpthreadコンポーネントをインクルードするだけです。
ミューテックスとクリティカルセクション処理APIについて詳しく説明しない限り、詳細を提供することは難しいです。
VxWorksには、mutexおよびクリティカルセクション用の独自のAPIがありますが、POSIXインターフェイスも用意されています。 VxWorksの異なるバージョンは、POSIX標準の異なるバージョンに対応しています。
使用しているVxWorksのバージョンによっては、(特に古いバージョンのvxWorksを使用している場合は)重大なC++ STLの使用が問題になることがあります。
C++では、静的クラスのインスタンスに注意する必要があります。それは正常に動作しますが、私はそれが静的にインスタンス化され、私が信じている.dataセグメントに置かれなければならないので、プログラムサイズを増やすと信じています。
ダイナミックC++オブジェクトが作成されて破棄されている場合は、ヒープに大きな負担がかかります。あなたの組み込みシステムのメモリフットプリントが小さい場合、問題がある可能性があります。
オブジェクトをスタックに作成する場合は、スレッドを作成するとき(作成時に初期化された固定サイズのスタックを持つ)、これを考慮する(構造体でCでも同じことを行う必要があります)ことを忘れないでください。
ヘッダーは、ほとんどの場所で確かに異なってくるでしょう。 –