您可以从 OSX 终端执行系统调用吗?

Mar*_*rty 6 command-line osx system-calls

所以我在 C 程序的上下文中获得系统调用,但我的教科书并没有真正解决在终端(在 Mac OSX 上)中进行系统调用的问题。您可以像“命令”一样在命令行上执行这些操作,还是完全不同的概念?抱歉,我确定这是非常初级的,只是找不到答案。

Kyl*_*nes 8

不,您不能直接执行系统调用,因为在终端下运行的 shell 不能让您对调用系统调用和处理结果所需的内存进行低级别访问。shell 的工作是让您可以轻松地运行整个程序。其中一些程序为您提供了一个更方便的系统调用和其他操作系统资源的接口。例如,该mv命令为您提供了一个愉快的rename系统调用界面。该ln命令为您提供了系统调用linksymlink系统调用的接口。内置的 shell 命令cd让您可以方便地访问chdir. 但在大多数情况下,系统调用提供的服务过于基本,无法让 shell 提供对它们的直接访问。