【发布时间】:2015-10-22 02:31:39
【问题描述】:
假设 API 通常与它们调用的系统调用相似(并且在某些情况下相同)......
我们在用户应用程序中调用的 fork() 是调用实际系统调用 'fork()' 的“POSIX 中的 API”吗?还是我们直接调用 fork() 系统调用?
它与 Win32 API 中的 CreateProcess() 相比如何。
CreateProcess()是一个系统调用,它调用另一个系统调用NTCreateProcess()系统调用还是CreateProcess() Win32 API 中调用 NTCreateProcess() 系统调用的函数?
【问题讨论】:
-
只是为了确保我理解:您的问题是关于哪些函数调用其他函数,还是只是关于我们给调用其他函数的函数起什么名称?
-
前者。概括地说,我对“什么是系统调用,什么是 API”感到困惑?
-
API 代表“应用程序接口”。它基本上是一组供程序使用的类型、函数等。不过,“系统调用”并没有一个非常严格的定义——它几乎只是“系统提供的一些我可以调用的函数”。
-
你为什么在乎? Q 的动机是什么?
-
区分 API 和系统调用?当然这只是理论!
标签: api winapi fork posix system-calls