1、本地编译:常见的软件开发,都是属于本地编译:在当前的PC下,x86的CPU下,直接编译出来程序,可以运行的程序(或者库文件),其可以直接在当前的环境,即x86的CPU下,当前电脑中,运行。
即在当前目标平台下,编译出来的程序,也只是放到当前平台下,就可以运行的。
2、交叉编译:和本地编译,相对应的概念。
在一种平台上编译,编译出来的程序,是放到别的平台上运行即编译的环境,和运行的环境不一样,属于交叉的,此所谓 cross。
交叉编译,主要和嵌入式开发有关。
例 如.:在x86平台上编译,在ARM平台上运行。
一种最常见的例子就是:
在进行嵌入式开发时手上有个嵌入式开发板,CPU是arm的然后在x86的平台下开发,比如Ubuntu的Linux,或者是Win 10然后就需要:
在x86的平台上,(用交叉编译器)去编译你写好的程序代码
编译生成的(可执行的)程序,是放到目标开发板,arm的CPU上运行的
此所谓:在x86平台上编译,在ARM平台上运行。
交叉编译,英文常写作cross compile,也有其他写法:crosscompile, cross compiling 等。