Использование библиотеки C ++ в приложении Objective-C? - PullRequest
2 голосов
/ 04 октября 2009

Я планирую научиться Objective-C писать приложения для OS X, но это будет зависеть от библиотеки, написанной на C ++. Могу ли я взаимодействовать с C ++ в приложении Objective-C? Я новичок в разработке настольных систем.

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

./xlsanalysis my_spreadsheet.xls

и возвращается:

rows: 34
columns: 10
first row: "My Spreadsheet header"

Могу ли я включить эту библиотеку непосредственно в приложение Objective-C или как-нибудь с ней работать?

Ответы [ 3 ]

3 голосов
/ 04 октября 2009

Для этой цели существует Objective-C ++, например, Objective-C плюс C ++ (или наоборот). Из файлов Objective-C ++ (например, файлов .mm) у вас есть полный доступ ко всем функциям C ++. Будьте внимательны при приведении типов из C ++ в Objective-C, например Вы должны преобразовать C ++ string в NSString, используя что-то вроде [NSString stringWithCString:cPlusPlusString.c_str()] Другое направление будет string cPlusPlusString([objectiveCString cString]) (или cStringUsingEncoding:).

2 голосов
/ 04 октября 2009

Да, вам просто нужно переключить любые файлы Obj-C, которые включают (прямо или косвенно) содержимое C ++, в Objective-C ++. По сути, это просто означает изменение расширения на .mm - это даст вам возможность использовать C ++ и Obj-C вместе в этих файлах.

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