Windows は Windows Vista までは GetTickCount のみを提供し、その OS から GetTickCount64 も提供します。さまざまな関数の呼び出しを使用してCプログラムをコンパイルするにはどうすればよいですか?
インクルードされたヘッダー ファイルで関数が宣言されているかどうかをCコンパイラでチェックし、特定の関数が使用可能かどうかに応じてコードのさまざまな部分をコンパイルするにはどうすればよいですか?
#if ??????????????????????????????
unsigned long long get_tick_count(void) { return GetTickCount64(); }
#else
unsigned long long get_tick_count(void) { return GetTickCount(); }
#endif
ヒントだけでなく、実際に動作するサンプル ファイルを探しています。
編集:(64ビット)Windows 7 RCでMinGWのgcc 3.4.5を使用して次のことを試しましたが、役に立ちませんでした。これが MinGW の問題である場合、この問題を回避するにはどうすればよいですか?
#include <windows.h>
#if (WINVER >= 0x0600)
unsigned long long get_tick_count(void) { return 600/*GetTickCount64()*/; }
#else
unsigned long long get_tick_count(void) { return 0/*GetTickCount()*/; }
#endif