这些天为了整理一下前段时间看ldd3时所学的驱动知识,所以就去看了看usb驱动。不看不知道,一看吓一跳,里面有很多语法我发现用的太好了,不像我们平时那样写代码。里面写的代码真是太好了。然而要理解到里面的东西还是不容易的。

今天看见usb_stor_access_xfer_buf函数的时候,想看看里面的min 函数是不是按照我们写的那么写。但是一看傻啦,还有些东东我还没用过,于是赶紧google一下,那到底下面代码是什么样的呢?大家可以到、include/linux/kernel.h 里面去找。不相找事吧,那好我贴在这里。

/*

* min()/max() macros that also do

* strict type-checking.. See the

* "unnecessary" pointer comparison.

*/

#define min(x,y) ({ /

typeof(x) _x = (x); /

typeof(y) _y = (y); /

(void) (&_x == &_y);  /

_x < _y ? _x : _y; })

#define max(x,y) ({ /

typeof(x) _x = (x); /

typeof(y) _y = (y); /

(void) (&_x == &_y);  /

_x > _y ? _x : _y; })

当我google 了以后发现很多人都看过这个函数,看来我是out了。这都是在大学欠下的账啊,正所谓:“出来混,

linux中min函数用法,linux内核中的min、max函数相关推荐

  1. Linux中close的用法,linux下 open() write() read() close函数

    1. open()函数 功能描述:用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数. 所需头文件:#include ,#include ,#include 函数原型:in ...

  2. linux中ftp的用法,linux中的ftp命令用法(7页)-原创力文档

    第 第 PAGE 1 页 共 NUMPAGES 1 页 linux中的ftp命令用法 Linux系统中的ftp命令功能强大,那么它的具体用法是怎样呢?下面由小编为大家整理了linux中的ftp命令用法 ...

  3. linux中comm的用法,linux中comm命令用法

    linux系统中comm命令用法详解 linux系统下的comm命令是一个非常实用的文件对比命令. comm命令功能:   选择或拒绝两个已排序的文件的公共的行. comm命令语法:comm [-12 ...

  4. Linux内核 sched,struct sched_domain在include / linux / sched.h中的含义(在内核中调度域)...

    我试图了解负载均衡器如何在Linux内核中的多处理器系统上运行, Linux调度程序基本上使用runques来存储它必须在下一次运行的任务,现在以执行load_balancer()的方式处理多处理器系 ...

  5. Linux下dpkg的用法,linux中管理包的apt和dpkg命令用法

    1,apt-get命令 apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸 ...

  6. linux signal函数用法,linux信号机制之sigaction构造体浅析,signal 函数,信号捕捉.

    来自:http://hi.baidu.com/phenix_yw/blog/item/6eb4ca391d1479f23a87ce19.html 信号安装函数sigaction(int signum, ...

  7. python print函数用法_Python3.2中Print函数用法实例详解

    本文实例讲述了Python3.2中Print函数用法.分享给大家供大家参考.具体分析如下: 1. 输出字符串 >>> strHello = 'Hello World' >> ...

  8. python中reduce函数用法_一文读懂reduce函数

    Python中的reduce函数是经常和map,filter一起被提到的函数,但是reduce的工作原理却不是那么直观,我们这里就来详细讲解一下这个函数. 首先先来看一下reduce函数的用法 imp ...

  9. pythoncast函数用法_数据库中cast函数

    SQL Server 中随机函数应用举例 最近工作中要随机生成一些数据,基本上全是通过rand()函数来完成.下面以几个例子做下简单说明. 1.生成年龄 思路:年龄一般为0-100岁,只要以当时日期为 ...

  10. python pow函数用法_Python代码中pow()函数具有哪些功能呢?

    摘要: 下文讲述Python代码中pow()函数的功能说明,如下所示: pow函数功能说明 pow() 函数用于 计算 xy(x 的 y 次方) 的值 pow函数语法: import math mat ...

最新文章

  1. css去掉a标签点击后的虚线框
  2. CNN光流计算--FlowNet: Learning Optical Flow with Convolutional Networks
  3. 在python中定义类时、运算符重载_自定义 Python 类中的运算符和函数重载(上)...
  4. 转自微信号:测试那点事
  5. 打开CEPH内核DOUT日志输出
  6. 高服从编纂器 VIM-操作篇(1)
  7. oracle建库及plsql建表空间的用法
  8. 改善深层神经网络:超参数调整、正则化以及优化——2.6 动量梯度下降法
  9. 【C++】set和multiset区别
  10. 疯狂游戏-研发一面-校招面经
  11. 计算机考研院校录取人数,2010年计算机考研34所自主划线院校复试成绩及录取人数等详细情况汇总...
  12. Elastic Searchable snapshot功能初探 三 (frozen tier)
  13. AWD线下攻防平台搭建
  14. ImportError: cannot import name '_validate_leng问题解决
  15. Docker学习之路(三)Docker网络详解
  16. impala查询报错问题 EOFException: Cannot seek after EOF 求解
  17. 基于Lucas-Kanade算法的三维光流提取matlab仿真
  18. DDR4硬件原理图设计详解
  19. 13 款 Linux 实用工具推荐,个个是神器!
  20. 浙江科技学院计算机试卷,浙江科技学院计算机专业统计学原理复习题参考答案.doc...

热门文章

  1. 项目质量要怎么保持? 如何借助系统软件进行管理
  2. 10个最好的免费读书网站
  3. C语言 判断字符串是否为数字字符串
  4. 【Linux】如何在保存后退出VIM编辑器
  5. uname命令 linux,Linux uname命令详解
  6. openGauss内核荣获中国首个国际CC EAL4+级别认证
  7. 女人出轨的八种主打心态
  8. java api 英文chm下载
  9. 来认识一下这个宝藏工具人吧
  10. chocolatey 安装_如何为Windows安装和使用Chocolatey Package Manager?