Question

J'apprends à utiliser Objective-C et mon ami utilise un véritable ordinateur Macintosh IIci, qui utilise un système Mac 7 (en particulier 7.5.5 avec un processeur 68k) et j'ai installé Metrowerks C / C ++ IDE (je crois que c'est le la version 1, mais je ne sais pas), mais je ne l’ai pas testée, alors je veux savoir une chose: il est possible de développer en Objective-C en utilisant NSObjects / Objects et AppKit ou quelque chose comme ça dessus? Merci.

Était-ce utile?

La solution

La réponse courte, comme le dit Stephen, est non. Mais, juste pour m'amuser, j'ai commencé à réfléchir à ce qu'il faudrait faire pour que cela fonctionne réellement.

1) Vous devez faire en sorte que gcc fonctionne sur le 68k (gcc est le compilateur qui parle Objective-C; vous pouvez probablement remplacer llvm par gcc, mais ne devenons pas trop .). Ce n'est pas un exploit. Un rapide coup d'œil aux dernières versions de gcc ne montre rien pour cette plate-forme (sans surprise). Je ne suis pas un expert en gcc, mais je parie qu'il utilise des extensions spécifiques à gcc et du C moderne, donc le compiler avec un compilateur de 68k existant sera probablement un non-débutant.

La première étape consistera donc à ajouter un back-end de 68k à gcc. Cela permettra à gcc de cracher du code qui fonctionnera sur un 68k. Vous pouvez ensuite utiliser une version x86 de gcc avec prise en charge de 68k pour compiler de manière croisée un nouveau fichier binaire gcc qui sera exécuté sur votre ancien Mac.

N'ayant jamais joué à gcc auparavant, je suppose que cette tâche me prendrait environ deux ou trois ans. Peut-être plus. mais quand même, ce n'est pas impossible.

2) Une fois que vous avez une version moderne de gcc que vous pouvez exécuter sur votre machine 68k, vous pouvez l’utiliser pour la compilation croisée pour x86 ou PPC. (Puisque vous parlez d'AppKit, vous ne pourrez jamais exécuter aucun de ces programmes sur votre ancien ordinateur. Tous les tests devront être effectués sur une machine plus moderne.) Vous devez maintenant obtenir toutes les bibliothèques et en-têtes pour Cocoa / Foundation / AppKit / libc / etc de votre machine cible (un PPC ou un Mac x86) et placez-les dans un emplacement que le gcc de votre 68k peut trouver. Cela prendra probablement 6 mois de travail pour réussir. Mais encore une fois, cela ne devrait pas être impossible.

Ce n'est peut-être pas légal, cependant. Autant que je sache, les contrats de licence pour OS X (qui contient Cocoa) et Xcode ne vous permettent pas de déplacer ces fichiers binaires sur bon gré mal gré sur une machine de votre choix. Vous voudrez peut-être parler à un avocat compétent avant de procéder, car personne ne souhaite obtenir la visite d'Interpol.

3) Je pense que vous avez terminé à ce stade. Vous pouvez écrire du code Objective-C / Cocoa sur votre Mac IIci, le compiler pour un Mac PPC ou x86, l’envoyer à une machine OS X avec votre méthode préférée (je suis un gars Mac depuis 2005, donc je ne t même connaître les options de connectivité sur le IIci), et le tester et le déboguer plutôt péniblement.

À ce stade, vous avez accès à un Mac sous OS X sur une puce PPC ou x86. Et vous vous demanderez pourquoi vous ne faites pas simplement tout votre développement sur CET ordinateur. Et puisque vous avez passé plusieurs années à configurer votre environnement de développement IIci, l’achat d’un vieux Mac PPC à des fins de développement sera bon marché .

Pourtant, ça pourrait être une idée amusante. Cela vous donnerait probablement la première page de reddit si vous la retiriez. (Bien que, honnêtement, il serait plus facile de simuler pour YouTube si c'est tout ce que vous recherchez.)

Autres conseils

Réponse courte: non.

Objective-C est devenu la lingua franca du développement mac avec OS X, qui est passé en version bêta environ 10 ans après la livraison de cet ordinateur. La plupart des développements pour les systèmes antérieurs à OS X ont été réalisés en C ou C ++.

Sans OS X, vous n’auriez aucune liaison avec les bibliothèques système ni les en-têtes, et le compilateur Metrowerks ne saura rien de la syntaxe Objective-C ni des extensions d’exécution de C.

Pour couronner le tout, les frameworks Objective-C sont conçus pour les macs PowerPC (ou maintenant, Intel), alors que le processeur de cette machine utilise l'ancienne architecture 68k.

gcc était toujours en cours de compilation pour Amiga 68k au début des années 2000, donc il y aurait peut-être une chance de le faire fonctionner sous Mac OS 68k. Je crois que l’extension Objective C était disponible depuis au moins le début des années 90 pour gcc.

Une autre option consiste à utiliser Linux 68k. Il existe un portage de Debian 4.0 (Etch) pour 68k et un effort en cours pour le réactiver, de sorte que vous pourriez probablement obtenir une version assez récente de gcc en cours d’exécution.

Il existe également la possibilité de procéder à une compilation croisée.

Les environnements C contemporains (aucune idée de la prise en charge de l’objectif C) étaient Think C (devenu Symantec C ++) et l’Atelier de programmation Macintosh d’Apple. En théorie, vous pourriez demander à l’un de ceux-ci de compiler une version de CbC compatible avec l’objectif C.

Non, il n'est pas possible qu'ils soient trop vieux à ma connaissance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top