【发布时间】:2019-01-23 20:21:49
【问题描述】:
我在看这个页面:https://sys.readthedocs.io/en/latest/doc/01_introduction.html
这将解释 glibc 如何进行系统调用。
在其中一个示例中,检查了代码并显示,最后一条指令 glibc 实际上执行系统调用(意味着对 cpu 的中断)是用汇编编写的。 .. 那么为什么 glibc 是汇编的一部分呢?在汇编中编写那一小部分是否有某种优势?
另外,运行时的共享库已经编译为机器码对吗?
那么为什么在编译之前使用两种不同的语言会有任何优势呢?谢谢。
【问题讨论】:
-
编译器不支持为CPU部分的中断生成机器码。
-
如果不是汇编写的,用什么C语句?
-
为什么 C 标准库的某些部分以低级语言实现令人惊讶?各种高级语言通常在低级语言中实现。 Python、Java、Ruby、Perl 和许多其他都属于这一类。