Переносимый машинный язык
Макросредствами может быть обеспечен полнофункциональный набор команд некоторой виртуальной машины. Программа пишется на языке этой виртуальной машины. Для разных платформ создаются библиотеки макроопределений, обеспечивающие расширение макровызовов в команды данной целевой платформы. Программа, таким образом, становится переносимой на уровне исходного текста. Поскольку макроопределение может быть построено так, чтобы генерировать неизбыточный код для каждого конкретного вызова, программа на языке виртуальной машины не будет уступать в эффективности программе, сразу написанной на языке целевого Ассемблера.