10

OS X では、Objective-C はネイティブ コードまたはバイトコードにコンパイルされますか?

Objective-C プログラムは Linux でコンパイルできますか?

4

4 に答える 4

19

Objective-C は、GCC または LLVM [*] によってネイティブ コードにコンパイルされます。Linux で ObjC プログラムをコンパイルできます (一般的な GCC は ObjC を喜んでサポートしますが、Apple のものとは異なるランタイム ライブラリを使用します)。Cocoa に似た (つまり、Cocoa から派生した) クロスプラットフォーム API については、Linux で問題なく動作し、OS X と Linux の間でコードを移植できるようにするため、GNUstep をチェックしてください: http://www.gnustep.org

[*]実際、LLVM は Objective-C を内部ビットコード表現に内部的にコンパイルしてから、ターゲット マシン用にコード化するため、おそらく答えは「両方」です…</p>

于 2008-10-05T20:40:25.950 に答える
7

ネイティブです。

Objective-C で書かれた NeXT OpenStep 仕様のオープン ソース実装であるGNUstepがあります。Cocoa API の実装は直接一致しないため、移植せずに直接コンパイルすることはできません。

于 2008-10-05T20:45:23.210 に答える
4

はい、Objective-C はマシン コードにコンパイルされます。

Linux 用の Objective-C コンパイラは存在しますが、Cocoa は OS X 専用のテクノロジです。GNUstep と呼ばれるオープンな代替品について聞いたことがありますが、それについてはあまり知りません。

于 2008-10-05T20:40:08.837 に答える
2

Objective-C は C のバリアントです。ネイティブ コードにコンパイルされます。

于 2008-10-05T20:39:56.843 に答える