5

Linux に移植したい Windows C++ アプリケーションを作成しました。これを行う主な理由は、IT スタッフのシステム保守の容易さです。このアプリケーションを実行する 1 台の Windows マシンを除けば、Linux のみの運用です。

このアプリケーションが Windows に組み込まれ、Windows で実行される理由は、Windows API (dll とヘッダー) を使用して外部パーティに属するサーバーに接続するためです。この接続は、私が本当にいじりたくない独自のプロトコルを使用しているため (契約上許可されていないと思います)、.dll にこだわっています。

この dll は、Windows ソケット固有のコードが dll に含まれているため (私は疑っています)、Windows のみです。それとは別に、高度なことはあまりしません。このアプリケーションを Linux マシンで実行できるようにするために、WINE の Linux でアプリを実行するだけでなく、プロトコルを盗聴して DLL を自分で再実装する方法はありますか?

このアイデアは、QT クリエーターに関するこの項目に触発されたので、それで遊ぶことができるソリューションは非常にクールです。

4

1 に答える 1

7

最も明白な中間点は、Winelibを使用することです。ネイティブ DLL に直接リンクできるかどうかはわかりませんが、そうでない場合は、LoadLibrary().

次に、アプリケーションを 2 つの部分に分割できます。DLL のみを呼び出すラッパーと、ラッパーと通信する残りのコードです。両方を別々のプロセスに入れることができるので、Winelib でコンパイルする必要があるのはラッパーだけです。アプリケーションの残りの部分は、必要なフレームワークを使用できます。

于 2008-11-09T22:31:10.993 に答える