本机编译器和交叉编译器的区别
1. 本机编译器:
本机编译器是为其运行的同一平台生成代码的编译器。它将高级语言转换为计算机的母语。例如 Turbo C 或 GCC 编译器
2. 交叉编译器:
交叉编译器是一种编译器,它为运行编译器的平台以外的平台生成可执行代码。例如,在 Linux/x86 机器上运行的编译器正在构建一个将在单独的 Arduino/ARM 上运行的程序。
本机编译器和交叉编译器之间的区别:
本机编译器 | 交叉编译器 |
---|---|
本机编译器为它正在运行的相同硬件/平台/机器翻译程序。 | 交叉编译器为不同的硬件/平台/机器翻译程序,而不是它正在运行的平台。 |
本机编译器用于为安装的相同系统/机器和操作系统构建程序。 | 交叉编译器用于为其他系统/机器(如 AVR/ARM)构建程序。 |
本机编译器依赖于系统/机器和操作系统 | 交叉编译器独立于系统/机器和操作系统 |
本机编译器可以生成像 .exe 这样的可执行文件 |
交叉编译器交叉编译器可以生成原始代码 .hex |
TurboC 或 GCC 是本机编译器。 | Keil 是一个交叉编译器。 |