1

这是我一直想回答的问题。

Windows 和Mac OS X 等主要操作系统通常只“支持”一种或几种语言(即Windows 的C++、C#、VB,Mac OS X 的Objective-C)。

以 Go 语言为例,显然可以在不使用“支持的”语言的情况下与操作系统交互并调用这些函数。

这怎么可能?

为了使用他选择的语言调用这些系统函数,开发人员需要知道什么?

我正在寻找这些调用如何在代码中表示 - 以及它们在执行时如何使用。

我希望没有一个适合每种语言系统组合的答案......但一些不同的例子会有所帮助。

4

1 回答 1

0

ABI(应用程序二进制接口)定义了如何调用操作系统。为了能够进行这些调用,需要特定的编程语言实现来生成符合该 ABI 的代码。

用 C 进行操作系统调用得到了很好的支持,许多解释语言(例如 perl、python、tcl)都是用 C 实现的,因此它们本质上是通过 C 进行调用。

于 2013-05-10T16:46:23.593 回答