Это мой первый блог или вопрос.
Я хочу разработать абстрактный слой платформы (PLA) для мобильного приложения с использованием c ++. то есть из мобильного приложения я мог общаться с устройством Bluetooth, не беспокоясь о том, какая ОС работает (т.е. IOS ANDROID и т. д.). Итак, мне нужно выяснить, какая ОС работает, будь то IOS или ANDROID, используя код на С ++, но без вызова нативного API какой-либо ОС.
Итак, кто-нибудь может предложить вашу мысль о том, как мы можем определить тип ОС (т. Е. IOS, ANDROID) и версию ОС, используя код c ++.
Для разработки какой IDE предпочтительнее разрабатывать код на С ++?
Заранее спасибо..!!
Спасибо,
Раджу.
Даже если вы разрабатываете кроссплатформенный код, когда приходит время его компиляции, вам нужно ориентироваться на платформу. Чтобы определить его, необходимо проверить определения прекомпилятора.
Большинство компиляторов определяют какую-то платформу при компиляции, если нет, вы можете сделать это самостоятельно при настройке вашего проекта.
Например, Xcode определит __APPLE__
а также TARGET_OS_IPHONE
а также TARGET_OS_MAC
при компиляции соответственно iOS и Mac проектов.
Для Android __ANDROID__
должен быть определен набором инструментов, однако я видел, что несколько mk-файлов добавляют явные флаги платформы, например:
LOCAL_CFLAGS := -DANDROID $(LOCAL_CFLAGS)
Затем необходимо использовать условия прекомпиляции:
#ifdef __APPLE__
#if TARGET_OS_IPHONE
// Configure for iPhone
#endif
#endif
#ifdef ANDROID
// Configure for Android
#endif
Для определения версии, на самом деле, в любом случае это не сделать без вызова Native API. К счастью, есть шаблон, который вы можете использовать, чтобы выделить конкретную реализацию и поместить общий интерфейс перед этим кодом.
Что касается IDE, это во многом зависит от выбора и доступности. Наиболее популярными являются Xcode для iOS и Eclipse для Android, но есть и другие.
Других решений пока нет …