gpt4 book ai didi

go - 为什么 golang 选择 syscall 而不是 libc

转载 作者:IT王子 更新时间:2023-10-29 01:28:20 25 4
gpt4 key购买 nike

<分区>

Go 将所有 syscall-s 包装在 package syscall 中,就像我理解正确的 libc 所做的那样。

我研究过几种语言,

  • Haskell,在编译器中使用 libc,库通常也使用它,尽管有一些库为用户包装系统调用。

  • Java 和几乎所有 JVM 语言都选择 libc。

lua、ruby、python等脚本语言就不用说了,它们需要可移植性,所以需要libc作为POSIX的实现。

我最近没用rust,不过刚好有人说rust也用libc。

那么,为什么golang一开始决定实现一个syscall包。它不可移植,需要更多的人移植到每个内核,甚至是同一内核的每个主要版本。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com