X86构架的CPU采用的是复杂指令集计算机(Complex Instruction Set Computer,CISC),而ARM构架的CPU使用的是精简指令集计算机(Reduced Instruction Set Computer,RISC)。由于这两种构架的CPU使用了不同的指令集,因此在X86构架上开发可运行在ARM构架上的程序就必须要使用交叉编译器。通常交叉编译器和相关工具包含了很多可执行文件以及大量的共享库及头文件等资源,这些资源的合集就称为交叉编译环境。