Czy podczas opracowywania oprogramowania dla systemu Mac OS X należy używać Objective-C podczas kompilacji i łączenia formatu wykonywalnego?


2

Mam na myśli, czy Objective-C jest jedynym dostępnym językiem, czy możesz użyć standardowego kompilatora / linkera C zoptymalizowanego pod kątem wystarczającego formatu wykonywalnego (Mach-O / PEF)?

Moje podstawowe pytanie brzmi: czy można użyć innych języków do wygenerowania równoważnego formatu pliku obiektowego, binarnego lub w inny sposób współdzielonej biblioteki kodu parsowanego i ładowanego przez wersje podobne do Mac OS X?

(Np. C, C ++, D itd.?)

Odpowiedzi:


1

Możesz także użyć C lub C ++ do kompilacji plików binarnych i plików wykonywalnych. Cel C jest głównie źródłem programowania interfejsu użytkownika MacOS (Cocoa), ale nawet nadal dostępny jest interfejs oldschoolowy (Carbon), tylko dla tych ostatnich przykładowych projektów i dokumentów trudno obecnie znaleźć.

Ale jeśli chcesz stworzyć narzędzie, które działa jak klasyczne narzędzia uniksowe (stdin / stdout) lub biblioteka współdzielona, ​​C lub C ++ są absolutnie wykonalnymi rozwiązaniami. Np. Możesz pobrać Xcode, a z Gui lub wiersza poleceń (gcc) możesz łatwo skompilować prosty int main(int, char**) { printf("Hello World!"); return 0; }program.

Ponadto Objective-C to tylko rozszerzenie C, więc nie musisz korzystać z jego funkcji.


Ale czy możesz używać C ++ do wywoływania funkcji API Cocoa? Wydaje się, że byłoby to możliwe, gdyby między wywołaniami C ++ i Objective-C istniała warstwa kleju, ale czy istnieje coś takiego?
Eric

1
@Eric nie do końca, ale użycie Objective-C ++ oznacza, że ​​możesz używać zarówno C ++, jak i kakao. Możesz także użyć innych bibliotek GUI C ++, takich jak Qt ++, GTK, Wx. Ale naprawdę najlepiej nauczyć się Celu C
Mark

@Eric Możesz użyć biblioteki wykonawczej c-c (funkcje C), w szczególności objc_msgSendi sel_registerName. Zobacz /usr/include/objc/objc.hi message.h. Kompilator celu-c faktycznie mapuje każdą wiadomość do wywołania objc_msgSend.
ughoavgfhw

@Eric. Mark ma rację, istnieje Objective-C ++, który jest w zasadzie rozszerzeniem do C ++ i który pozwala używać Cocoa z C ++.
Grezgory

0

Istnieje wiele innych języków, których można używać do tworzenia aplikacji na iOS. Xojo jest jednym z łatwiejszych na początek, jeśli nie masz dużego doświadczenia w programowaniu .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.