fcntl.h中声明的函数open的定义在哪里?

问题描述 投票:0回答:1

当我想打开一个没有缓冲区的文件时,我将包含头文件

fcntl.h
并编写如下程序:

#include <fcntl.h>

int main(){
    int fd = open("path/to/onefile",O_RDONLY);
    //some statements not important
    close(fd);
    return 0;
}

但是,谁实现这个功能很混乱

open

正如我所猜测的,函数
open
的定义如下所示:

MOV rax, OPEN_NUM;  // OPEN_NUM is a number of syscall 
...                 // some instructions which set other related register
syscall             // trigger syscall entry point
...                 //  return from syscall

但是,哪里可以找到函数的定义

open

c++ file
1个回答
0
投票

https://github.com/torvalds/linux/blob/master/fs/open.c#L1434你可以在linux源码树中找到源代码~

© www.soinside.com 2019 - 2024. All rights reserved.