0

具体的な問題は、Windows での条件変数のサポートが Vista から開始されたことです。Windows の初期バージョン (Windows XP) では、エミュレートされた条件変数コードを使用して問題を解決しました。ただし、システムがサポートされている場合にネイティブの条件変数 API を呼び出し、XP 以前のバージョンでのみ自分のバージョンにフォールバックできるようにしたいと考えています。GetVersionInfo API を使用して Windows のバージョンを検出しようとしましたが、開始時にエラーが発生します (InitializeConditionVariable の API エントリが見つかりません)。

私は Windows プログラミングに詳しくありませんが、穏やかなフォールバックの問題をうまく解決するにはどうすればよいですか?

4

1 に答える 1

5

プラットフォームのバージョンに応じて存在する場合と存在しない場合がある関数を呼び出したい場合は、動的読み込みを使用します

LoadLibrary と GetProcAddress

これらはエントリポイントが存在するかどうかを示し、存在する場合はそれを呼び出すことができます

于 2010-01-08T22:03:21.987 に答える