iOS + boost
От: nen777w  
Дата: 08.06.11 08:24
Оценка:
Собираюсь в ближайшем времени делать портирование на iOS (не путать с OSX) приложение которое активно использует boost.
С header only библиотеками вроде как проблем не должно возникнуть что делать с остальными? Такими как filesystem, threads и т.п. у OSX с ними все OK, как быть с iOS?
Спасибо.
Re: iOS + boost
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.06.11 08:31
Оценка:
Здравствуйте, nen777w, Вы писали:

N>С header only библиотеками вроде как проблем не должно возникнуть что делать с остальными? Такими как filesystem, threads и т.п. у OSX с ними все OK, как быть с iOS?


ПО уму, про них надо бы забыть. Тем не менее, есть вот такой проектик, может поможет тебе чем.
Re[2]: iOS + boost
От: MescalitoPeyot Украина  
Дата: 08.06.11 09:27
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>ПО уму, про них надо бы забыть.


Почему?
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re[3]: iOS + boost
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.06.11 09:39
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>Почему?


Потому что OS предоставляет более удобный и хорошо заточенный на интеграцию с остальными компонентами системы API, к которому, зачастую, из BOOST доступа и не получить.
Простой пример: из BOOST не получить доступа к GCD, а в случае с iOS лучше пользоваться им, а не потоками (в большинстве ситуаций).
Re[4]: iOS + boost
От: MescalitoPeyot Украина  
Дата: 08.06.11 09:50
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Потому что OS предоставляет более удобный и хорошо заточенный на интеграцию с остальными компонентами системы API, к которому, зачастую, из BOOST доступа и не получить.


А, ну это для всех платформ справедливо, не только для iOS. Я думал есть какие-то специфические грабли которые не заметил.
З.Ы.: используем boost в т. ч. и на iOS, после небольшой доработки напильником вполне себе работает.
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re[5]: iOS + boost
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.06.11 09:53
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>З.Ы.: используем boost в т. ч. и на iOS, после небольшой доработки напильником вполне себе работает.


Модули уровня "только заголовки" — да. Но какой толк от той же файловой системы или потоков или сети?
Re[6]: iOS + boost
От: MescalitoPeyot Украина  
Дата: 08.06.11 09:58
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Модули уровня "только заголовки" — да. Но какой толк от той же файловой системы или потоков или сети?


Толк очень простой: на iOS/Android и всех десктопах один и тот же код и при портировании ядра проекта никаких специальных усилий, кроме обеспечения плюсового рантайма и сборки boost (актуально для Android) для этого предпринимать не надо.
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re[5]: iOS + boost
От: nen777w  
Дата: 08.06.11 10:27
Оценка:
MP>З.Ы.: используем boost в т. ч. и на iOS, после небольшой доработки напильником вполне себе работает.

А что за библиотеки допиливали?
Re[7]: iOS + boost
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.06.11 10:52
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>Толк очень простой: на iOS/Android и всех десктопах один и тот же код и при портировании ядра проекта никаких специальных усилий, кроме обеспечения плюсового рантайма и сборки boost (актуально для Android) для этого предпринимать не надо.


Т.е. threads, asio и filesystem нормально работают на этих платформах?
Re[6]: iOS + boost
От: MescalitoPeyot Украина  
Дата: 08.06.11 18:41
Оценка:
Здравствуйте, nen777w, Вы писали:

N>А что за библиотеки допиливали?


В основном мелочи править приходилось, пару дефайнов проставить и т. п. Каких-то особых проблем не помню.
Re[8]: iOS + boost
От: MescalitoPeyot Украина  
Дата: 08.06.11 19:10
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Т.е. threads, asio и filesystem нормально работают на этих платформах?


С iOS особых проблем не припомню. Ну разве что раньше boost в thumb весь не собирался, как сейчас не знаю, он у нас в arm.
С Андроидом есть нюансы. Если забыть про недо-поддержку плюсов (нет wchar_t, исключения с STL появились недавно, раньше надо было NDK пересобирать; впрочем, и сейчас надо, если хочешь libstdc++ so'шкой и без багов), баги (в духе креша при выводе float в std::ostream, соответственно хана lexical_cast с float и вывод date_time), JNI-специфику (надо аттачить/деттачить треды к ява-машине, пути для класслоадера в мейн-треде не такие как в нативных и т. д.), специфику реализации сокетов (в духе — а на вот этом вот девайсе не работает мультикаст), то из совсем сломанного можно назвать thread_specific_ptr, и все что использует wchar_t (wserialization, boost::filesystem::wpath). К счастью, от них можно сравнительно безболезненно отказаться.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.