2011-01-02 2 views
3

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

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

И

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

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

Любой может указать мне на учебник о том, как это сделать? Благодарим вас заблаговременно и с Новым годом всем.

Гэри Cho

ответ

1

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

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

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

+0

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