Ваш вопрос состоял в том, можете ли вы протестировать данный C-файл на архитектуре процессора, отличной от машины, на которой вы работаете. Например, у вас может быть компьютер под управлением Windows с процессором Intel, но вы хотите попробовать программу на платформе ARM.
Это, конечно, можно сделать.
Следует отметить, что код C никогда не запускается непосредственно на процессоре; сначала он должен быть переведен (скомпилирован) в машинный код, так как разные платформы требуют разные машинные коды для того же. Это то, что делает компилятор.
Вы можете указать компилятору компилировать ваш код в другую целевую платформу. Это называется кросс-компиляцией. В этом посте, например, описывается, как кросс-компилировать программу Hello World в ARM с помощью компилятора arm-linux-gnueabi-gcc
(который можно получить в Ubuntu из apt install gcc-arm-linux-gnueabi
).
Я должен добавить, что такого рода вещи под хостами Linux несколько проще, чем с Windows, но, возможно, это личный уклон.
После кросс-компиляции вашей программы вы можете протестировать ее на целевой платформе. Для этого вам, конечно, понадобится эмулятор ЦП, но одного этого эмулятора будет недостаточно, так как вам нужна операционная система поверх него *, которая может загрузить соответствующую скомпилированную программу C и выполнить ее как процесс. ARM Lab VM делает это для ARM. Это виртуальная машина, которая эмулирует платформу ARM на любой хост-платформе.
* Если эта программа сама по себе «голая», то есть она работает без промежуточной операционной системы.