linux源代码调用,linux – 哪里可以找到系统调用源代码?
您将需要Linux内核源,以便查看系统调用的实际来源。手动页面(如果安装在本地系统上)只包含调用的文档,而不是其源代码本身。
不幸的是,系统调用不会存储在整个内核树的一个特定位置。这是因为各种系统调用可以引用系统的不同部分(进程管理,文件系统管理等),因此将它们与与系统的该特定部分相关的部分树进行存储是不可行的。
你可以做的最好的事情是寻找SYSCALL_DEFINE [0-6]宏。使用(显然)将给定的代码块定义为系统调用。例如,fs / ioctl.c具有以下代码:
SYSCALL_DEFINE3(ioctl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
{
/* do freaky ioctl stuff */
}
这样的定义意味着ioctl系统调用被声明并且有三个参数。 SYSCALL_DEFINE旁边的数字表示参数的数量。例如,在kernel / timer.c中声明的getpid(void)的情况下,我们有以下代码:
SYSCALL_DEFINE0(getpid)
{
return task_tgid_vnr(current);
}
希望能够清理一些东西。
linux源代码调用,linux – 哪里可以找到系统调用源代码?相关推荐
- python中执行linux命令(调用linux命令)_常见Python中调用Linux命令
有时候我们需要从Python中执行Linux命令,下面就介绍几种方法? 1. os 模块: 1.1 os.system 函数: system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果. ...
- python中执行linux命令(调用linux命令)_Python调用Linux bash命令
import subprocess as sup # 以下注释很多(为了自己以后不忘), 如果只是想在python中执行Linux命令, 看前5行就够了 # 3.5版本之后官方推荐使用sup.run ...
- 汇编语言调用Linux系统调用
首先查找系统调用文件 #find / -name unistd.h /root/linux/include/unistd.h /usr/include/linux/unistd.h /usr/incl ...
- linux 内核源代码漫游,Linux内核源代码漫游——
Linux内核源代码漫游 Alessandro Rubini著, rubini@pop.systemy.it 赵炯 译,gohigh@shtdu.edu.cn 本章试图以顺序的方式来解释Linux源代 ...
- linux内核剖析---Linux系统调用详解(实现机制分析)
原文博客 http://blog.csdn.net/gatieme/article/details/50779184 本文介绍了系统调用的一些实现细节.首先分析了系统调用的意义,它们与库函数和应用程序 ...
- linux启动程序api编程,Linux编程中关于API函数与系统调用间关系
用户态xyz()函数,内核最终一般会调用形如sys_xyz()的服务例程来处理(不过也有一些例外,这里暂时不考虑) 函数xyz()是直接提供给用户编程使用的.图中"SYSCALL" ...
- Linux 编程中的API函数和系统调用的关系【转】
转自:http://blog.chinaunix.net/uid-25968088-id-3426027.html 原文地址:Linux 编程中的API函数和系统调用的关系 作者:up哥小号 API: ...
- linux内核调用( )为进程创建虚存区_Linux内核分析-总结篇(九)
本次内容作为Linux内核的总结内容,主要涉及对Linux系统的总体的一些理解,同时将之前的一些总结贴出来作为大家的一个索引,希望笔者一样的菜鸟有一些帮助和入门的作用.从一个初学者的角度对Linux有 ...
- Linux C高级编程——文件操作之系统调用
Linux C高级编程文件操作之系统调用 宗旨:技术的学习是有限的,分享的精神是无限的! 库函数是一些完成特定功能的函数,一般由某个标准组织制作发布,并形成一定的标准.使用库函数编写的函数一般可以应用 ...
最新文章
- 第二十二课.DeepGraphLibrary(三)
- 华为服务器万兆网卡驱动型号,华为万兆光模块型号参数大全
- gitlab中文_ASP.NET实战010:Visual Studio使用GitLab详解
- linux 下mysql命令 (授权用户 和 基本操作)
- Eclipse中Spring插件:Spring Tool 4(aka Spring Tool Suite 4)插件安装
- 如何删除eclipse多余的工作空间
- 为内存密集型应用程序转义JVM堆
- [Leetcode][第24题][JAVA][两两交还的链表中的节点][递归][三指针]
- java生成world文件_HelloWorld.java文件如何创建?
- Hanlp之理解用户自定义词典(java版本)
- apt ubuntu 指定ipv4_macOS 下使用 Docker 搭建 ubuntu 环境
- PC端稳定性测试探索
- 服务器音频文件缓存,音频文件如何缓存到本地,和播放缓存到本地的音频文件...
- matlab抛物柱面 y 2=2x,求椭圆抛物面2y2+x2=z与抛物柱面2-x2=z的交线关于xOy面的投影柱面和在xOy面上的投影曲线方程...
- 广告传媒实际税负怎么计算_增值税的理论税负和实际计算公式
- springboot2.0+springDataJPA报错Could not obtain identifier
- android分享到微博,Android集成新浪微博SDK分享
- 新零售连锁店系统为何这么火?
- Codefoeces 581B Luxurious Houses
- 安卓手机兼职教程,下载应用试玩,每天2小时50块
热门文章
- Java jdbctemplate赋值_Spring 之 Spring JdbcTemplate的使用
- python3.7怎么安装django_python开发笔记-Python3.7+Django2.2 Docker镜像搭建
- java导出类_java导出excel工具类
- Python-list中的append()和extend()方法区别
- python flask解决上传下载的问题
- python实现redis三种cas事务操作
- 考研数学三考摆线吗_考研数学,需要从课本开始吗?这样会不会比较慢?
- mysql的驱动connect放在哪里_Python连接数据库两种方法,QSqlDatabase,pymmsql,驱动名...
- Linux ubuntu16.04 安装opencv4教程(源码编译)
- source insight(SI)使用教程