既にLinux/Macをサポートしているc/C++コードベースをVxWorksに移植する必要があります。私はVxWorksを新しく導入しました。発生する可能性のある問題は何かを教えてください。VxWorksにc/C++コードを移植する際の問題
答えて
最近、VxWorksを実行しているPowerPCマシンからLinuxを実行するIntelシステムにコードを移植しました。私は、オペレーティングシステムの違いまで、多くの問題を抱えていることは覚えていません。明らかに、OS固有のAPIへの呼び出しは変更する必要があり、我々はこれらの機能を広範に使用していませんでした。
私たちの最大の問題は、オペレーティングシステムの違いではなく、PowerPCとIntelのハードウェアの違いです。 PowerPCはビッグエンディアンで、インテルはリトルエンディアンです。私たちのソフトウェアはC言語で書かれており、バイトの順番については多くの前提がありました。これは、スムーズに動作させるための絶対的な悪夢でした。文字通り何百もの構造がビットフィールドを定義し、正しく動作するように並べ替えが必要でした。私たちは#pragmaをGCCに実装して、これらのビットフィールドをその定義(#pragma reverse_bitfields)で反転させました。
あなたが移植しているアプリケーションの詳細がわからないと、それを伝えるのは難しいです:linuxライブラリとapi呼び出しは何を使用していますか?それは自己完結型なのか、それともLinuxのコマンドラインツールやスクリプトに頼って仕事をしているのだろうか?
平均で言うように、エンディアンはあなたが予想以上に多くの問題を引き起こす可能性があります。特に準備ができていない場合は特にそうです。
VxWorksエンディアンで実行されているプロセッサ、構造体のパッキング、およびメモリの配置はすべて問題である可能性があります。 VxWorksを使用した最後の時間に、UNIX環境を簡単に模倣したpthreads、ソケット、およびmutexレイヤーをサポートしました。
対象とするVxWorksのバージョンと実際のターゲットプロセッサ自体によって多くのものが異なります。あなたが対処しなければならないことの1つは、ページメモリシステムや仮想メモリがないことです。そこには何があるのですか。環境自体は、Linuxシステムよりはるかに制限されています。時には、アプリケーションの移植にかかわる作業は、リソースがLinuxのように無制限ではないため、アーキテクチャーレベルに戻ることもあります。
他のいくつかのヒント:あなたは
- ライセンスのVxWorks。ターゲットを正確にエミュレートするシミュレータを使用しないでください。
- 必要に応じてTSR(技術サポートリクエスト)を使用してください。私は彼らがTSRを作成する権利の購入をどのように構築するのか分かりませんが、誰にも安価にTSRを貸し出さないようにしてください。
- 1. VxWorksへの移植の問題
- 2. OpenGLコードをiPhoneのOpenGL ESに移植する際の問題
- 3. JavaをJに移植する際の問題
- 4. OpenGLアプリケーションをWindowsに移植する際の問題
- 5. VxWorksからQuadros/RTXCへの移植
- 6. iOS3コードをiOS5に移植する:シングルトンの問題
- 7. GPSの移植に関する問題
- 8. FreeTTS移植性の問題
- 9. lexer stringアキュムレータを新しいバージョンのQuexに移植する際の問題
- 10. いくつかのVB.NETコードを移植するときにF#の問題
- 11. NodeJS - モンゴースの移植の問題
- 12. ファイルIOの移植性の問題
- 13. GoogleマップアプリをOsmdroidに移植する - オーバーレイに関する問題
- 14. 移植問題 - Internet Explorerを他のものにする
- 15. divを移動する際の問題
- 16. コードをアクティビティからフラグメントに移植する際のダイアログを処理する
- 17. LispコードをClojure(PAIP)に移植する
- 18. POSIX Cコードをウィンドウに移植する
- 19. Androidに移植するJAVA AWT SWINGコード
- 20. Herokuに移植性の問題はありますか?
- 21. ASP.NETコアにコードを移植する際に参照が見つからない
- 22. SQLite3-WinRTをWindows 10 ARMデバイスに移植する際に問題が発生しました
- 23. win32コード(windows.h)をlinuxに移植
- 24. OpenGL-ESで移植する移植
- 25. Wordpressサイトを別のドメイン/サーバに移動する際の問題
- 26. WinFormからWPFへの移植、データバインディングの問題
- 27. プログラムの移植性の問題(Windows XPからWindows 7へ)
- 28. Ninjectの傍受 - Ninject 3.0に移植する際の変更点
- 29. Wordpressをローカルサーバーからライブサイトに移動する際の問題
- 30. QTextCursorを最後に移動する際の問題
お返事ありがとうございます。このアプリケーションは、pthread、ソケットライブラリ、クリティカルセクション、およびmutex処理APIを使用します。 VxWorksに移植する際に問題が発生するかどうか教えてください。 – ebaccount