1

次の問題があります:

このメソッドは Windows 2000 では使用できないため、私のプログラムは実行時に関数 (この場合は GetExtendedTcpTable()) をロードするかどうかを決定する必要があります。(Windows 2000のみ起動不可)

ご協力ありがとうございました!

レオン22に挨拶

4

2 に答える 2

6

質問を明確に指定していませんでしたが、OS のバージョンに基づいて関数を動的にロードしたいと考えています。

OS のバージョンを確認するには、 を使用できますGetVersionEx。関数を動的にロードするには、まず を使用LoadLibraryしてその DLL のモジュール ハンドルを取得し、次に を使用GetProcAddressして関数への関数ポインターを取得します。その関数ポインタを正しいプロトタイプにキャストする必要があります。

于 2011-03-07T10:10:45.520 に答える
-1

関数が特定のプラットフォームで使用できない場合は、実行時ではなくロードするかどうかをコンパイル時に決定する必要があります。ビルドの構成中に、関数が使用可能かどうかを判断し、適切にコンパイルします。

于 2011-03-07T10:55:09.167 に答える