为什么c需要编译,js不用?
现在我想要在terminal运行一个 .c 文件,但是需要先编译。可是 .js 文件却可以直接运行。
按理说,c不是更接近系统语言吗? .js可以直接运行这是什么原理阿?这两个文件的运行有什么区别?
回复
1个回答
test
2024-07-01
C语言是一种静态编译型语言,需要先将源代码编译成机器可执行的二进制文件(通常是可执行的程序或库文件),然后才能运行。
而JavaScript (JS) 是一种解释型语言,不需要显式的编译步骤。当你运行一个.js文件时,JS引擎会逐行解释和执行代码。
这两种文件的运行的区别主要在于语言本身的特性和执行方式。C语需要进行编译,因此通常具有更高的执行效率和对底层系统的直接控制能力。而JavaScript则是一种解释型语言,相对来说执行速度较慢,但它通过浏览器、Node.js等内置的解释器执行
说人话就是, C语言在硬件底层执行, 因此需要编译成机器认识的语言就是机器语言, 而javascript是浏览器、Node.js等内置的解释器执行, 不需要进行编译, 其实是解释器做了这一步
顺便一提, V8引擎是用C语言写的
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容