2012-04-13 4 views
2

Я планирую использовать D для создания собственных приложений в Mac OS X. Для этого, конечно, D должен взаимодействовать с API Cocoa. Я не знаю, как это можно сделать. Я уже смотрел на Cocado и не знаю D-ObjC bridge в Мишель Фортин, и хотел бы быть просвещены о некоторых деталях:Как создать порт D-Cocoa?

  • Какова их (или любой другой возможно) подход портирования какао на D? - здесь я в основном прошу указать технические источники (книги/статьи/ссылки и т. Д.);

  • Возможно ли установить совместимость ABI с ObjC напрямую или через C ABI? - Есть question on stackoverflow, где ответы описывают, что может быть достигнуто с помощью Objective-C's Runtime Reference;

  • Возможно ли, чтобы этот вид материала работал хорошо и получил уровень производительности и стабильности, например, с картой Qt на Mac OS X?

У меня нет опыта вообще в этом поле, поэтому простите мне любые технические неисправности. Любая помощь будет заметна.

Заранее благодарим за ваши ответы.

ответ

1
  • , что большинство портов портов какао будет сделать, это перевести .h в .di и обеспечивают тонкую оболочку и общие утилиты,

    это будет возможно включать некоторые синтаксический сахар через opDispatch(string sel,A...)(A args) перегрузки, который переведут obj.call1(arg1).call2(arg2) на правильные obj_msgsend(obj.ptr,NSSelectorFromString(sel),args) звонки

  • можно через C ABI вы можете прочитать больше о том, что in the D spec

  • уверен, что возможно много вещей, которые Obj. C компилятор может проверить D компилятор не может проверить, требующие UnitTests, чтобы найти те

+0

Благодарим за отзыв! Именно так должен быть реализован порт, но из-за проблем, описанных Якобом Карлборгом (см. Мой собственный ответ на этот вопрос), я попытаюсь использовать модифицированную версию компилятора D, чтобы заставить все работать. – Rizo

1

У меня есть более подробный ответ на этот вопрос на dlang.org forum от Jacob Carlborg.

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