Как заставить компилятор использовать GetTickCount, а не GetTickCount64?
Нужен код, совместимый с winXP, а компилятор упорно берет GetTickCount64, которая xp не поддерживается конечно же.
Как быть?
Этим я хотел сказать примерно следующее
#include<windows.h>
#include<БиблиотекаВажныхВПроектеФункций.h>
...
void ОченьВажнаяНезаменимаяФункция(){
...
GetTickCount();
...
}
...
А в windows.h, точнее в winbase.h, действительно сказано, что если версия оси выше 6, то использовать при компиляции GetTickCount64(), что мой RAD studio 6 охотно и делает.
Вот можно было бы в коде указать, что ось старше шестой версии, было бы хорошо. Или что-то подобное сделать...
P.S: под важными функциями подразумевается программирование rs-232, а там чтобы выдерживать таймауты между пересылками, чтобы держать нужную скорость хочешь не хочешь, а GetTickCount вызывается.
#define WINVER 0x0501
#define _WIN32_WINNT 0x0501
P.S. Но скорее всего эти MS макросы не сработают (хотя может их слизали и в рад). По идее должны быть в среде настройки на целевую платформу...
Но, встречается же, что под, например, MessageBox подразумевается MessageBoxA либо MessageBoxW в зависимости от юникод установок (для анси/юникод вариантных ф-ций API это сплошь и рядом). Городят это тупо через дефайны
#define MessageBox MessageBoxA
Ну, и при условной компиляции нужный дефайн и подставляется.
В случае с GetTickCount по той-же схеме, т.е. вроде такого:
#ifdef версия винды новая
#define GetTickCount GetTickCount64
#endif