質問

Objective-Cを学んでいますが、友人はMac System 7(具体的には68kプロセッサを搭載した7.5.5)を使用し、Metrowerks C / C ++ IDEをインストールしています(私はそれがバージョン1、しかし私は知りません)、しかし私はそれをテストしませんでした、そして私は1つのことを知りたいです:NSObjects / ObjectsとAppKitまたはそのような何かを使用してObjective-Cで開発することは可能ですか?ありがとう。

役に立ちましたか?

解決

スティーブンが言うように、短い答えはノーです。しかし、ただ楽しみのために、私はあなたが実際にその仕事をするために何をしなければならないかについて考え始めました。

1)68kでgccを実行する必要があります(gccはObjective-Cを処理するコンパイラです。gccの代わりにllvmを使用することもできますが、 too はおかしくなりません)。これは意外な偉業ではありません。最新のgccビルドをざっと見ても、そのプラットフォームについては何も表示されていません(当然)。私はgccの専門家ではありませんが、gcc固有の拡張機能と最新のCを使用しているので、既存の68kコンパイラーでコンパイルできるようになるのは、たぶん初心者ではないでしょう。

そのための最初のステップは、gccに68kバックエンドを追加することです。これにより、gccは68kで実行されるコードを吐き出します。その後、68kをサポートするgccのx86ビルドを使用して、古いMacで実際に実行される新しいgccバイナリをクロスコンパイルできます。

これまでgccをめちゃくちゃにしたことがなかったので、このタスクに2〜3年かかると思います。多分もっと。それでも、それは不可能ではありません。

2)68kマシンで実行できる最新バージョンのgccを入手したら、それを使用してx86またはPPCのクロスコンパイルを行うことができます。 (AppKitについて話しているので、これらのプログラムを古いコンピューターで実際に実行することはできません。すべてのテストは、より新しいマシンで実行する必要があります。)次に、すべてのライブラリとターゲットマシン(PPCまたはx86 Mac)からのCocoa / Foundation / AppKit / libc / etcのヘッダーを、68kのgccが見つけられる場所に配置します。これを正しく行うには、おそらく6か月の苦労が必要です。しかし、これも不可能ではないはずです。

しかし、それは合法でないかもしれません。私の知る限り、OS X(Cocoaを含む)とXcodeのライセンス契約では、これらのバイナリを任意のマシンに自由に移動することはできません。誰もインターポールからの訪問を望んでいないので、これを行う前に有能な弁護士と話をしたいと思うでしょう。

3)この時点で完了したと思います。 Mac IIciでObjective-C / Cocoaコードを記述し、PPCまたはx86 Mac用にコンパイルし、好みの方法を使用してOS Xボックスに出荷できます(2005年からMacの開発者でしかありませんので、 t(IIci)の接続オプションを知っていても、テストとデバッグはかなり苦痛です。

この時点で、PPCまたはx86チップでOS Xを実行しているMacにアクセスできます。そして、代わりにこのマシンですべての開発を行わないのはなぜでしょうか。また、IIci開発環境のセットアップに数年を費やしてきたため、開発用に古いPPC Macを購入するのは安いでしょう。

それでも、楽しいアイデアかもしれません。あなたがそれを引っ張った場合、それはおそらくredditのフロントページにあなたを得るでしょう。 (正直なところ、もしそれがあなたの目的であれば、YouTubeでそれを偽装する方が簡単です。)

他のヒント

簡単な答え:いいえ。

Objective-Cは、OS XによるMac開発の共通語となり、そのコンピューターが出荷されてから10年ほどでベータになりました。 OS X以前のシステムのほとんどの開発は、CまたはC ++で行われました。

OS Xがなければ、リンクするシステムライブラリやヘッダーはなく、MetrowerksコンパイラはObjective-C構文またはCのランタイム拡張について何も知りません。

さらに、Objective-CフレームワークはPowerPC(現在はIntel)Mac用に構築されていますが、そのマシンのプロセッサは古い68kアーキテクチャを使用しています。

gccは初期の半ばにまだ68k Amiga用にコンパイルされていたため、68k Mac OSで動作する可能性があります。 Objective C拡張機能は、少なくとも90年代前半からgccで利用できたと思います。

別のオプションは、68k Linuxを使用することです。 68k用のDebian 4.0(etch)の移植版と、それを復活させるための現在の努力があるので、gccのかなり最近のバージョンを実行できる可能性があります。

クロスコンパイルする可能性もあります。

同時期のC環境(Objective Cがサポートされているかどうかはわかりません)は、Think C(後のSymantec C ++)とAppleのMacintosh Programmers Workshopです。理論的には、これらの1つを取得して、目的のCサポートバージョンのgccをコンパイルできます。

いいえ、彼らが私の知る限りでは古すぎる可能性はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top