Я знаю о Wine/Darling и других слоях совместимости, но мне было интересно, возможно ли это (например) таким образом:
1. Создайте простую программу hello_world.c в OS X.
2. Используя objcopy/ objconv/некоторый другой инструмент, скопируйте машинный код в исполняемый файл Linux и замените вызов OSX libc вызовом glibc. Если это другой исполняемый файл, динамически связанный с другими библиотеками OSX, скопируйте библиотеки.
3. Запустите программу в Linux, предполагая, что она работает.
Пример hello_world.c
:
#include <stdio.h>
int main(void) {
printf("Hello World");
return 0;
}