大佬教程收集整理的这篇文章主要介绍了C编译器是否编译为通用程序集?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在简短的介绍之后,我是否正确假设C代码编译成几种汇编语言?如果是这样,它可以做什么来实现所有这些汇编语言 – 将其解析为通用汇编语言,然后从那里翻译它?或者是否有针对每种不同汇编语言的单独流程?
有更多的通用编译器,如GCC和Clang,它们可以针对许多不同的指令集.
以Clang为例,它基于Low Level Virtual Machine,它是一个具有“中间表示”语言的抽象机器,LLVM IR.为LLVM可以将LLVM IR转换为指令集的每个体系结构编写后端,然后编译为LLVM IR的任何编译器都可以针对LLVM支持的cpu.
编译器将根据您传递给它的参数决定在运行时定位哪个后端.编译器通常有一个默认的后端,在构建编译器本身时通过配置(可能默认为构建编译器的架构)来设置.
以上是大佬教程为你收集整理的C编译器是否编译为通用程序集?全部内容,希望文章能够帮你解决C编译器是否编译为通用程序集?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。