因此,我在 C 程序的上下文中进行系统调用,但我的教科书并没有真正解决在终端(在 Mac OSX 上)中进行系统调用的问题。您可以像使用“命令”一样在命令行上执行这些操作,还是这是一个完全不同的概念?抱歉,我确信这是非常初级的,只是找不到答案。
答案1
不,您不能直接执行系统调用,因为在终端下运行的 shell 无法为您提供对内存的低级访问权限,而您需要调用系统调用并处理结果。 shell 的工作是让您轻松运行整个程序。其中一些程序为您提供了更方便的系统调用和其他操作系统资源接口。例如,该mv
命令为您提供了一个令人愉快的系统调用界面rename
。该命令为您提供了和系统调用ln
的接口。内置的 shell 命令使您可以方便地访问.但大多数情况下,系统调用提供的服务太基础,无法让 shell 直接访问它们。link
symlink
cd
chdir