c - C编译器如何决定是调用库函数还是系统调用

标签 c function compiler-construction system-calls

我知道read是系统调用。但是当我阅读 read 的 man 2 and man 3 时,它显示了不同的解释。所以,我怀疑 read 有库函数和系统调用。在这种情况下,如果我在我的 c 程序中使用 read,编译器是否会将 read 视为 library 函数或 system call 请解释一下这种混淆.

最佳答案

事实并非如此。系统调用存在于 libc(C 标准库)中,就像库函数一样。 libc 中系统调用的实现只是“ stub ”,它调用特定于系统的方法来调用内核。

关于c - C编译器如何决定是调用库函数还是系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10638448/

相关文章:

c - C 中动态大小的二维字符数组?

function - 带有 IF ELSE 语句的 postgresql plpsql 函数

javascript - JS Codecademy Return II - 返回问题

c++ - 如何在 C 或 C++ 中使用未命名的函数参数

C2371 : 'mxArray' : redefinition; different basic types

c - 字节序问题?

c - 在 C 中将 double 值与 EPSILON 进行比较的精度

c# - 命令行编译 Win Forms C# 应用程序

c - 如何确定内联汇编在何处/针对什么可以提供更高的执行速度?

c++ - C/C++ - MinGW - 批处理运行/编译程序