Pregunta

Estoy aprendiendo Objective-C y mi amigo tiene un Macintosh IIci real, que usa un Mac System 7 (específicamente 7.5.5 con un procesador 68k) y he instalado Metrowerks C / C ++ IDE (creo que es el versión 1, pero no lo sé), pero no lo probé, entonces quiero saber una cosa: ¿es posible desarrollar en Objective-C usando NSObjects / Objects y AppKit o algo así en él? Gracias.

¿Fue útil?

Solución

La respuesta corta, como dice Stephen, es no. Pero, solo por diversión, comencé a pensar en lo que tendrías que hacer para que realmente funcione.

1) Tendría que hacer que gcc se ejecute en el 68k (gcc es el compilador que habla Objective-C; probablemente podría sustituir llvm por gcc, pero no nos pongamos demasiado locos). Esto no es una hazaña mala. Un vistazo rápido a las últimas compilaciones de gcc no muestra nada para esa plataforma (como era de esperar). No soy un experto en gcc, pero apuesto a que usa extensiones específicas de gcc y una C moderna, por lo que es probable que no compile con un compilador 68k existente.

Entonces, el primer paso para esto será agregar un back-end de 68k a gcc. Esto permitirá que gcc escupe el código que se ejecutará en un 68k. Luego, podría usar una compilación x86 de gcc con soporte de 68k para compilar de forma cruzada un nuevo binario gcc que realmente se ejecutará en su antigua Mac.

Como nunca antes me había molestado con gcc, sospecho que esta tarea me llevaría unos dos o tres años. Quizás más. Pero aún así, no es imposible.

2) Una vez que tenga una versión moderna de gcc que pueda ejecutar en su máquina 68k, puede usarla para realizar una compilación cruzada para x86 o PPC. (Como está hablando de AppKit, nunca podrá EJECUTAR ninguno de estos programas en su computadora anterior. Todas las pruebas tendrán que realizarse en una máquina más moderna). Ahora debe obtener todas las bibliotecas y encabezados para Cocoa / Foundation / AppKit / libc / etc desde su máquina de destino (una Mac PPC o x86) y colóquelos en algún lugar que pueda encontrar el gcc en su 68k. Probablemente esto llevará unos buenos 6 meses de determinación correcta. Pero de nuevo, no debería ser imposible.

Sin embargo, podría no ser legal. Hasta donde sé, los acuerdos de licencia para OS X (que contiene Cocoa) y Xcode no le permitirán mover esos archivos binarios a cualquier máquina que desee. Debería hablar con un abogado competente antes de hacerlo, ya que nadie quiere recibir una visita de Interpol.

3) Creo que ya terminaste. Puede escribir el código Objective-C / Cocoa en su Mac IIci, compilarlo para una Mac PPC o x86, enviarlo a un cuadro de OS X utilizando su método favorito (solo he sido un Mac desde 2005, así que no lo hago ' Incluso conozco las opciones de conectividad en el IIci), y lo pruebo y depuro bastante dolorosamente.

En este punto, tiene acceso a una Mac con OS X en un chip PPC o x86. Y se preguntará por qué no solo realiza todo su desarrollo en ESTA máquina. Y dado que ha pasado algunos años configurando su entorno de desarrollo IIci, comprar un Mac PPC antiguo para el desarrollo será barato .

Aún así, podría ser una idea divertida. Probablemente te pondría en la portada de reddit si lo detuvieras. (Aunque, sinceramente, sería más fácil simularlo para YouTube si eso es todo lo que buscas).

Otros consejos

Respuesta corta: no.

Objective-C se convirtió en la lengua franca del desarrollo de mac con OS X, que entró en beta unos 10 años después de que se lanzó esa computadora. La mayor parte del desarrollo para sistemas anteriores a OS X se realizó con C o C ++.

Sin OS X, no tendrá ninguna de las bibliotecas o encabezados del sistema para vincular, y el compilador Metrowerks no sabrá nada acerca de la sintaxis Objective-C o las extensiones de tiempo de ejecución de C.

Para colmo, los marcos Objective-C están construidos para Mac PowerPC (o ahora, Intel), mientras que el procesador en esa máquina usa la arquitectura 68k más antigua.

gcc todavía se estaba compilando para 68k Amiga a principios de los años noventa, por lo que podría haber alguna posibilidad de que funcione en 68k Mac OS. Creo que la extensión del objetivo C estuvo disponible al menos desde principios de los 90 para gcc.

Otra opción es usar 68k Linux. Hay un puerto de Debian 4.0 (etch) para 68k, y un esfuerzo actual para revivirlo, por lo que probablemente pueda obtener una versión bastante reciente de gcc ejecutándose.

También existe la posibilidad de realizar una compilación cruzada.

Los entornos C contemporáneos (no tengo idea de si alguno tenía el Objetivo C compatible) fueron Think C (más tarde Symantec C ++) y el Taller de Programadores Macintosh de Apple. En teoría, puede obtener uno de estos para compilar una versión de soporte de C objetiva de gcc.

No, no es posible que sean demasiado viejos que yo sepa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top