用c编写的windows中的系统调用是什么?

时间:2011-03-12 16:27:55

标签: c windows system

用c编写的windows中的系统调用是什么? 无法找到有关谷歌内容的解释。

这就是我们被要求做的事情: 你的任务是实现名为HeadTail的Windows实用程序,它接收一个文件名和一个整数N作为参数,然后输出到控制台(标准输出)N个文件的第一行,然后是N个最后一行反转。

2 个答案:

答案 0 :(得分:5)

http://en.wikipedia.org/wiki/System_call

在计算中,系统调用是程序从操作系统的内核请求服务的方式,它通常不具有运行权限。系统调用提供进程和操作系统之间的接口。与系统交互的大多数操作需要用户级进程不可用的权限,例如,使用系统上存在的设备执行I / O,或与其他进程进行任何形式的通信都需要使用系统调用。

例如fopen不是系统调用,而ReadFile是。

System call vs Function call

的更多信息

答案 1 :(得分:4)

从kernel32.dll和advapi32.dll导出的所有核心窗口API通常被认为是系统调用(还有其他的,并且有较低级别的API,但这可能符合您的要求(较低级别的API没有文档,而且更难使用))。

要在C应用程序中使用它们,如果您使用的是visual studio或Windows SDK构建环境,则只需添加:

#include <windows.h>

到你的源文件。然后,您可以从C程序中进行任何API调用。

链接应用程序时可能需要添加kernel32.lib。