1

Windows XP プログラムを Windows CE で動作させる方法はありますか? Windows XP でコンパイルされたいくつかの DLL を取得しましたが、それらは Windows CE でのロードを拒否します。そのような変換を行うことは本当に大きな問題ですか、それともいくつかの解決策があるのでしょうか? Windows CE を通常の Windows に変換することについて話しているので、インターネットで検索しました。誰もこの問題に遭遇しましたか?

コメントに基づく私の質問の更新: 実際、私は非常に大きなオープン ソース プロジェクトを持っています。Windows CE でコンパイルしようとしましたが、多くのコンパイル エラーがあるため、そのオープン ソース プログラムを変更するのも難しいでしょうか?

次のような問題があります。 一部の Windows API 関数パラメーターの型の不一致。一部のヘッダー ファイルはシステムに存在しません。__asm キーワードでエラーが発生します。dllimport 関数として宣言された関数でもエラーが発生する これはすべてのエラーではありません

4

2 に答える 2

1

移植しようとしているこのライブラリは、インライン アセンブリを使用しているようです。(CE に同梱されているコンパイラのうち) x86 コンパイラのみがサポートしているため、そこには大きな障害があります。これを WinMo のようなもので動作させたい場合は、それらをすべて削除し、それらを外部 ASM ファイルに呼び出してから、x86 ASM を ARM ASM に移植する必要があります。少量の作業ではありません。

また、インライン ASM を使用している場合は、おそらくパフォーマンスのためにそうしています。つまり、移植しようとしているものはおそらく計算量が多いということです。CE は通常、実際にはそのように調整されていないプロセッサで実行されることをご存知ですか?

残りのエラーは、CE が Win32 のサブセットのみをサポートしていることが原因である可能性があります (すべてをサポートする場合、Widows XP と呼ばれます)。行方不明の呼び出しの代わりを見つける必要があります。繰り返しますが、これは簡単なことではありません。

于 2010-02-01T18:38:55.397 に答える
1

CE は ARM、SH4、X86、および (4 番目は覚えていない) プロセッサで実行されるという事実に注意する必要があります。したがって、明らかに X86 でコンパイルされた DLL は、どの Windows CE デバイスでも動作しません。

さらに、Windows CE は Win32 API 全体をサポートしていないため、そこで問題に直面することになります。

最後に、私はデスクトップ Dll とその読み込みおよび使用アーキテクチャに精通していませんが、受け取ったコメントから、そこでも問題に直面することになると思います。

于 2010-02-01T16:16:29.010 に答える