Nej, kod sammanställd för en ARM -processor kommer inte direkt att köras på en x86 -processor. ARM och X86 är olika instruktionsuppsättningar arkitekturer (ISA). Detta innebär att de har grundläggande olika instruktionsuppsättningar - maskinkodinstruktionerna som processorerna förstår är helt olika.
För att köra ARM -kod på en x86 -processor behöver du något av följande:
* emulering: En emulator översätter ARM -instruktionerna till x86 -instruktioner i farten. Detta är betydligt långsammare än infödda utförande. Exempel inkluderar Qemu.
* tvärkompilering: Kompilera källkoden (t.ex. C, C ++) specifikt för X86 -arkitekturen. Detta kräver att man har en TOOL-kompilatorverktygskedja som riktar sig till x86. Detta producerar inbyggd x86 -kod som körs direkt och effektivt.
* Översättning: Vissa verktyg översätter Arm Machine Code till x86 maskinkod. Detta liknar konceptet som tvärkompilering men fungerar på maskinkodnivå snarare än källkodnivån.
Kort sagt, den binära koden är oförenlig. Du behöver en översättning eller emuleringsskikt för att överbrygga klyftan mellan de två arkitekturerna.