Linux的man手册

man手册分很多section,各个section意义(可指定section)
    1 - commands(普通的命令)

    2 - system calls(系统调用)

        通过该section可查询函数系统调用库文件(头文件)等

    3 - library calls(库函数)
    4 - special files(特殊文件:/dev下设备文件)

    5 - file formats and convertions(文件格式)

        例:passwd, 就会说明这个文件中各个字段的含义

    6 - games for linux(游戏和娱乐)
    7 - macro packages and conventions(杂项)
    8 - system management commands(管理员命令)
    9 - 其他(Linux特定, 用来存放内核例行程序的文档)


open既有命令,又有系统调用

    man open            查看open普通命令(默认从最前面section开始)

    man 2 open        查看open系统调用


库函数和系统调用

    库函数

            完全运行在用户空间, 为程序员提供调用真正的在幕后完成实际事务的系统调用的更方便的接口

    系统调用

            在内核态运行并且由内核自己提供

            系统调用可编写进行覆盖(可重写)

C库函数printf()

            printf() 可看做是个通用输出语句,但实际是将数据转化为符合格式字符串且调用系统调用 write() 输出这些字符串

        查看printf()的系统调用

            ①#i nclude int main(void) { printf("hello"); return 0; }

            ②命令gcc -Wall -o hello hello.c 编译

            ③命令 strace hello 跟踪该可执行文件

                         每一行都和一个系统调用相对应

strace工具

        非常有用的程序,查看程序使用系统调用和这些系统调用的参数,返回值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值