I binari universali

by Michele

Gli ingegneri di Apple sono un gruppo di geni sempre pronti a stupirmi. Quando Jobs, l’estate scorsa presentò la migrazione verso Intel pensai subito a tutte le problematiche che avrebbe avuto la transizione ad una nuova architettura. Per evitare, di rilasciare due versioni diverse dello stesso software compilate per due diverse piattaforme, alla Apple si sono inventati il binario universale. Un binario che continente sia le istruzioni eseguibili da PowerPC sia quelle eseguibili da Intel x86.

In uno dei video tutorial del Developer Transition Resource Center ho trovato questo schema:

Universal Binary

A sinistra è rappresentata la struttura di un binario universale. Si tratta sostanzialmente di un contenitore di altri binari Mach-O standard. Allo stato attuale gli universal binary contengono 3 binari: PowerPC, PowerPC64 e Intel. Ho già fatto delle prove con Universal Binary, compilando progetti Xcode completamente scritti in Objective-C/Cocoa. Per l’utente finale è del tutto trasparente, è possibile dare il programma ad un nostro amico che ha un Mac con diversa architettura e lui con un semplice doppio click lo può utilizzare. Niente trucchi, niente emulatori, codice nativo per l’hardware in cui viene eseguito. Qualcosa di estremamente potente!