2014-02-21 2 views
0

Я уже давно изучаю C++ и SFML и люблю язык и библиотеку, так как это хорошо работает для меня. Я заинтересован в создании приложений для iPhone, которые, как я понимаю, используют Objective-C.Использование кода C++ в проекте Objective-C

В любом случае, мой вопрос заключается в том, есть ли способ вызвать использование кода C++ (с SFML) в Objective C. Так что, пока программа будет работать на iPhone, фактический код написан в основном на C++?

Извините, если это не так .... достаточно описательный, если вам нужно уточнить, не стесняйтесь спрашивать!

Заранее благодарен!

+0

Хотя вы можете легко использовать код C++ в проекте iOS, на COS-версиях классов iOS нет версий C++, поэтому вы, вероятно, получите много Objective-C, а не сможете кодировать «в основном на C++». – Arkku

ответ

2

Да. Фактически, вы, вероятно, используете Objective-C++. Назовите свои исходные файлы с расширением «.mm» вместо расширения «.m», а компилятор будет компилировать их как Objective-C++. Там даже есть Wikipedia article. Вы также можете использовать обычные исходные файлы C++ в своем коде и вызывать их из классов Objective-C в этом сценарии. Если у вас есть более конкретные вопросы, не стесняйтесь спрашивать.

+0

Удивительный! Спасибо за помощь. Так как насчет использования внешней библиотеки, такой как SFML? Это вызовет какие-либо проблемы или возможные препятствия? – Connor

+3

При использовании Obj-C++ рекомендуется использовать его только для создания объектной оболочки вокруг того, что вы делаете, а затем используйте Obj-C как можно больше. Обратите внимание, что Obj-C++ обозначается его расширением реализации (.m/.mm). Если вы создаете оболочку Obj-C++, вы все равно можете #import его интерфейс из Obj-C. Это распространенная ошибка, чтобы сделать все в вашем проекте Obj-C++ только потому, что это нужно одному биту кода. – karwag

+0

Хорошо, это имеет смысл, я полагаю, что неэффективность мешает. Спасибо вам, мой вопрос отвечает! – Connor

Смежные вопросы