C程序运行机制与Python、Lua等脚本语言的运行机制不同,脚本语言由解释程序读取后运行,由解释程序负责运行脚本语言的指令,而不是由CPU直接运行脚本语言的指令。虽然某些脚本语言解释器具有JIT(just-in-time compiler)功能,可将脚本语言转换成能被处理器直接执行的指令,但是,转化的过程实质上也是一个编译的过程,这个编译过程仍然需要编译器的帮忙,因此,从某种角度上来说,此类脚本语言解释器可称为“脚本语言编译器”。而C语言则不同,它属于编译型语言,当然,汇编语言也是可编译运行的,但C语言相比汇编语言而言更简洁,在完成同样任务的情况下,C程序的编码量要少很多,这对汇编语言程序员来说也许是一种解脱。
C语言将生成机器语言的工作托付给编译器执行,机器语言是计算机能够直接解读、运行的语言,C语言编译器将源程序作为输入,翻译成目标语言机器的二进制执行文件,在Linux平台下,GCC是使用最多的编译器,GCC原名为GNU C 语言编译器(GNU C Compiler),经过后期的不断改进,目前GCC可用于编译C、C++、Fortran、Pascal、Objective-C、Java、Ada等,此外,GCC还能编译汇编语言。Unix平台默认的编译器是cc,使用方式与GCC类似。
资料来源:《C指针原理揭秘:基于底层实现机制》,文章链接:https://developer.aliyun.com/article/726057
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。