Да, вы можете, но это не обязательно хорошая идея.
Apple представила идею толстого двоичного файла , когда они переходили с Motorola 68000 на чипы PowerPC обратно вначало 90-х (я не говорю, что они это изобрели, это только самое раннее из известных мне воплощений).Эта ссылка также описывает универсальные двоичные файлы FatELF Linux, но, учитывая то, как мало о них мы слышим, они, похоже, не взлетели.
Это был один файл, который в основном содержал как исполняемые файлы 68000, так и PowerPc в комплекте.в один файл, и ему потребовалось несколько смартов из операционной системы, чтобы она могла загрузить и выполнить соответствующий файл.
Вы могли бы, если бы у вас была такая склонность, написать компилятор, который создавал бы толстый двоичный файл, который работал бы наочень много платформ, но:
- было бы ужасно большим;и
- почти наверняка потребуются специальные загрузчики в каждой целевой системе.
Поскольку gcc
имеет такую огромную поддержку для различных платформ и кросс-компиляции, это будетгде бы я сосредоточил свои усилия, если бы я был достаточно безумен, чтобы попытаться: -)