Код для конкретной платформы - PullRequest
3 голосов
/ 02 января 2011

Надеюсь получить несколько указателей здесь.Я пытаюсь заставить QT компилироваться с немного различным кодом для каждой платформы.Например,

Если платформа Windows, включите windows.h
Если платформа OSX, включите time.h

AND

Если платформа Windows, используйте функцию QueryPerformanceCounterиз windows.h Если используется платформа Linux, используйте функцию gettimeofday от time.h

Цель - написать функцию-обертку, которая будет возвращать истекшие микросекунды, которые работают с Windows (QueryPerformanceCounter) и Linux / Max (gettimeofday), не имея 2 наборакода.Разрешение Qtimer неадекватно в Windows XP.(с шагом 10-15 мс).

Кто-нибудь может подсказать мне, как это сделать?Заранее спасибо и с наступающим Новым годом всех здесь.

Гэри Чо

1 Ответ

1 голос
/ 02 января 2011

Если бы это был Python, я бы сказал, просто создайте модуль, который условно импортирует один из правильных модулей.

Это C ++, я вполне уверен, что это невозможно (я неэксперт C ++).Даже если скомпилированные двоичные файлы могли работать как на Windows, так и на Linux-машинах.Я не вижу способа скомпилировать заголовки Windows и Linux в исполняемый файл, а затем выбирать между ними во время выполнения.

Вам потребуется скомпилировать 2 двоичных файла, каждый из которых содержит правильный заголовок.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...