Si no se usa un formato extensible y enlazable en Mac OS, iOS y Windows OS cuando se compila el código, ¿cuál es el formato que se usa en estos tres sistemas operativos?

Gracias por el A2A.

Me temo que no conozco los detalles de los formatos ejecutables utilizados por Apple en Mac OS e iOS. Puedes encontrar la información relevante. en Wikipedia, supongo. Daré una respuesta sobre Windows.

Actualmente, el principal formato de archivo ejecutable utilizado por Windows es el formato Portable Executable (PE). El propio PE se basa en un formato anterior llamado Formato de archivo de objetos comunes (COFF) de Unix. De hecho, PE se refiere a veces como PE / COFF.

El formato ejecutable portátil se utiliza para archivos .EXE, archivos .DLL (que son más o menos ejecutables sin el punto de entrada WinMain ), archivos de código de objeto (archivos .OBJ), etc.

En los días de DOS, el formato de módulo de objetos reubicables (OMF) de Intel se usó ampliamente para los archivos de código de objetos y se utilizó el llamado formato ejecutable “MZ” (llamado así por el número mágico MZ que estaba presente en el encabezado e identificó estos archivos) archivos ejecutables.

Los archivos ejecutables de .NET (es decir, aquellos que usan Common Language Runtime) usan una variación del formato PE con información específica de .NET adicional.

OS X utiliza el formato de archivo Mach-O (objeto Mach), que es el estándar utilizado para almacenar programas y bibliotecas en el disco en la interfaz binaria (ABI) de la aplicación Mac:

https://developer.apple.com/libr