Я бы лучше рекомендовал использовать LLVM :
- Это позволяет вам не беспокоиться о деталях низкого уровня, таких как распределение регистров (вы предоставляете только форму SSA)
- Это делает оптимизацию для вас.Это может быть быстрее, чем рукописный и хорошо оптимизированный компилятор, как показывает конвейер LLVM в GHC (в начале - перед большой оптимизацией он имел такую же или лучшую производительность, чем зрелый генератор собственного кода).
- Itкроссплатформенный - вы не привязываетесь к примеру x86
Я не совсем уверен, что вы подразумеваете под командами 'kernel'.Если вы имеете в виду коды операций:
Однако ARM или PowerPC имеют совершенно разные коды операций.
Если вы имеете в виду системные системные вызовы системы (системазвонки) затем:
- Вы можете просто использовать библиотеку C.Он есть в каждой операционной системе и является кроссплатформенным.
- Вы можете напрямую использовать системные вызовы.Однако их сложнее использовать, они могут работать медленнее (libc может использовать дополнительную буферизацию) и не являются кроссплатформенными ( системные вызовы Linux на x86 - могут быть устаревшими).