1

MFC を使用してイーサネット経由でデバイスと通信するプログラムを作成しました。書き直してQtに変換する必要があります。

MFC プログラムは、CreateFile、ReadFile (ネットワーク パケットを取得するため)、DeviceIOControl (通信を容易にするために使用されるプロトコルと通信するため) などの Win API 関数を使用します。

Windows.h をインクルードすると、これらの関数 (CreateFile、ReadFile、および DeviceIOControl) を Qt コードで直接使用できますか?

WaitForSingleObject や Mutex など、同時実行に使用される Win API 関数はどうですか? Qt で利用できる/利用できない Win API の部分は?

MFC コードを Qt に変換するための標準的なメカニズムはありますか?

4

1 に答える 1

4

Windows.h をインクルードすると、これらの関数 (CreateFile、ReadFile、および DeviceIOControl) を Qt コードで直接使用できますか?

はい。

WaitForSingleObject や Mutex など、同時実行に使用される Win API 関数はどうですか? Qt で利用できる/利用できない Win API の部分は?

Win API の任意の部分を使用できます。

MFC コードを Qt に変換するための標準的なメカニズムはありますか?

標準的なメカニズムはありません。ただし、前述の機能については、QMutex などの Qt の代替品を検討する必要があります。

また、コンバージョンに見合う価値があるかどうかを検討する必要があります。結局、Qt はバックグラウンドで Windows 上の Windows API を使用します。

コードをクロスプラットフォームにしたい場合、Windows API を直接使用する方法から移行したいと考えています。そうしないと、コードがコンパイル時のプリプロセッサ ディレクティブでいっぱいになってしまいます。

于 2014-04-26T04:06:56.280 に答える