2010-07-08 4 views
2

Мне сказали, что новейший Qt основан на Cocoa, и, как все, это 64 бит. И Cocoa основан на Object-C, тогда как Qt - на C++.Qt или wxWidgets на какао?

  • Как это возможно? Я имею в виду, как библиотека на базе C++ может превратиться в связанную с Objective-C? Это просто использование Objective-C++?
  • Может ли любая библиотека C++ быть Cocoa на основе Objective-C++?

ответ

2

Objective-C++ позволяет комбинировать C++ и Objective-C в одном исходном файле. Поэтому вы можете делать интересные вещи здесь. Например, я создал классы C++, которые раньше называли вещи Cocoa, такие как NSNotification.

Поэтому я подозреваю, что вы просто напишете на C++, вызывая объекты C++ ... которые реализованы как C++-оболочки методов Objective-C.

wxWidgets имеет аналогичную вещь, wxCocoa, но в последний раз я слышал, что это платформа Mac будущего, а это значит, что они все еще строят ее.

1

Объектив C является строгим надмножеством C. Это означает, что любая действительная C-программа компилируется с помощью компилятора Objective C. Поскольку C++ обратно совместим с C, их соединение довольно тривиально. Часть C++ просто должна быть осведомлена о некоторых библиотеках времени выполнения Objective C.

1

Qt - C++, период. Взаимодействие одного языка с другим (в данном случае C/C++/Objective-C/Objective-C++) может быть довольно простым.

Qt использует какао по умолчанию, но все еще может быть 32-битным, см. http://doc.qt.nokia.com/4.7-snapshot/developing-on-mac.html для некоторых общих макросов.

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