刚刚学习使用KEIL的时候,看到了说KEIL MDK本质上是交叉编译等等,本着刨根问底拦不住的精神,简单的百度了下,以下内容来自百度百科。
“交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。比如,我们在Windows平台上,可使用Visual C++开发环境,编写程序并编译成可执行程序。这种方式下,我们使用PC平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为native compilation,中文可理解为本机编译。然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的ARM平台,其一般的静态存储空间大概是16到32MB,而CPU的主频大概在100MHz到500MHz之间。这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain)需要很大的存储空间,并需要很强的CPU运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。”
由于学习还没那么深入,所以未做进一步的深入了解。以后有机会深入了解以后再做补充。
注:本贴仅作为本人学习过程中的未知盲点记录,如未能帮助到读者还望体谅
嵌入式学习记录--交叉编译
最新推荐文章于 2024-04-15 15:57:15 发布