Нет "базового байт-кода, который приходит от компилятора".Существует только машинный код .
Хотя одни и те же машинные инструкции могут применяться в нескольких операционных системах (при условии, что они работают на одном и том же оборудовании), существует гораздо большеразмещенный исполняемый файл, кроме этого, и поскольку у скомпилированного и связанного собственного исполняемого файла для Linux требования к среде выполнения и библиотеке сильно отличаются от требований для BSD или Darwin, вы не сможете запустить один двоичный файл в другой системе.
Напротив, двоичные файлы Windows могут иногда выполняться под Linux, поскольку Linux предоставляет как загрузчик двоичного формата для формата PE Windows, так и обширную реализацию API (Wine).В принципе, эта идея может быть использована и на других платформах, но я не знаю никого, кто бы писал это для Linux <-> Darwin.Если у вас уже есть исходный код, и он компилируется в Linux, у вас есть хорошие шансы, что он также будет компилироваться под MacOS (конечно, по модулю UI).