Domanda

Sto imparando Objective-C e il mio amico hanno un vero Macintosh IIci, che utilizza un Mac System 7 (in particolare 7.5.5 con un processore 68k) e ho installato Metrowerks C / C ++ IDE (penso che sia il versione 1, ma non lo so), ma non l'ho provato, quindi voglio sapere una cosa: è possibile sviluppare in Objective-C usando NSObjects / Objects e AppKit o qualcosa del genere su di esso? Grazie.

È stato utile?

Soluzione

La risposta breve, come dice Stephen, è no. Ma, solo per divertimento, ho iniziato a pensare a cosa avresti dovuto fare per farlo funzionare davvero.

1) Dovresti far funzionare gcc sul 68k (gcc è il compilatore che parla Objective-C; potresti probabilmente sostituire llvm con gcc, ma non facciamo impazzire troppo ). Questa non è un'impresa da poco. Una rapida occhiata alle ultime build di gcc non mostra nulla per quella piattaforma (non sorprende). Non sono un esperto di gcc, ma scommetto che usa estensioni specifiche di gcc e C moderna, quindi farla compilare con un compilatore 68k esistente probabilmente non sarà un inizio.

Quindi il primo passo per questo sarà l'aggiunta di un back-end da 68k a gcc. Ciò consentirà a gcc di sputare il codice che verrà eseguito su un 68k. È quindi possibile utilizzare una build x86 di gcc con supporto 68k per compilare in modo incrociato un nuovo binario gcc che verrà effettivamente eseguito sul tuo Mac antico.

Non avendo mai fatto casini con gcc prima, sospetto che questo compito mi richiederebbe circa due-tre anni. Forse di più. ma comunque non è impossibile.

2) Una volta che hai una versione moderna di gcc che puoi eseguire sulla tua macchina 68k, puoi usarla per la compilazione incrociata per x86 o PPC. (Dato che stai parlando di AppKit, non sarai mai in grado di ESEGUIRE effettivamente nessuno di questi programmi sul tuo vecchio computer. Tutti i test dovranno essere eseguiti su una macchina più moderna.) Ora devi ottenere tutte le librerie e intestazioni per Cocoa / Foundation / AppKit / libc / etc dal tuo computer di destinazione (un Mac PPC o x86) e inseriscili in un punto che può trovare il gcc sul tuo 68k. Ciò richiederà probabilmente ben 6 mesi di finagling per avere ragione. Ma ancora una volta, non dovrebbe essere impossibile.

Tuttavia, potrebbe non essere legale. Per quanto ne so, gli accordi di licenza per OS X (che contiene Cocoa) e Xcode non ti permetteranno di spostare quei binari volenti o nolenti su qualsiasi macchina tu voglia. Vorresti parlare con un avvocato competente prima di farlo poiché nessuno vuole ricevere una visita dall'Interpol.

3) Penso che tu abbia finito a questo punto. Puoi scrivere il codice Objective-C / Cocoa sul tuo Mac IIci, compilarlo per un PPC o un Mac x86, spedirlo su un box OS X usando il tuo metodo preferito (sono solo un ragazzo Mac dal 2005, quindi non conosco anche le opzioni di connettività su IIci) e testarlo ed eseguirne il debug piuttosto dolorosamente.

A questo punto, hai accesso a un Mac con OS X su un chip PPC o x86. E ti chiederai perché non fai semplicemente tutto il tuo sviluppo su QUESTA macchina. E poiché hai trascorso alcuni anni a configurare il tuo ambiente di sviluppo IIci, l'acquisto di un vecchio Mac PPC per lo sviluppo sarà economico .

Tuttavia, potrebbe essere un'idea divertente. Probabilmente ti porterebbe sulla prima pagina di reddit se lo accedessi. (Anche se, onestamente, sarebbe più semplice falsificarlo per YouTube se è tutto ciò che stai cercando.)

Altri suggerimenti

Risposta breve: no.

Objective-C è diventato la lingua franca dello sviluppo mac con OS X, che è entrato in beta 10 anni dopo la spedizione del computer. La maggior parte dello sviluppo per i sistemi precedenti a OS X è stata effettuata con C o C ++.

Senza OS X, non avrai nessuna delle librerie di sistema o intestazioni a cui collegarti, e il compilatore Metrowerks non saprà nulla della sintassi Objective-C o delle estensioni di runtime a C.

Per finire, i framework Objective-C sono creati per Mac PowerPC (o ora Intel), mentre il processore in quella macchina utilizza la vecchia architettura 68k.

gcc era ancora in fase di compilazione per 68k Amiga nei primi anni '40, quindi potrebbe esserci qualche possibilità per farlo funzionare su Mac OS 68k. Credo che l'estensione di Objective C fosse disponibile almeno dai primi anni '90 per gcc.

Un'altra opzione è usare 68k Linux. C'è un port di Debian 4.0 (etch) per 68k, e uno sforzo attuale per rilanciarlo, quindi potresti probabilmente avere una versione abbastanza recente di gcc in esecuzione.

C'è anche la possibilità di eseguire la compilazione incrociata.

Gli ambienti C contemporanei (nessuna idea se qualcuno avesse supportato l'obiettivo C) erano Think C (in seguito Symantec C ++) e il Macintosh Programmers Workshop di Apple. In teoria, potresti ottenere uno di questi per compilare una versione C di supporto di gcc.

No, non è possibile che siano troppo vecchi per quanto ne sappia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top