精华内容
下载资源
问答
  • UNIX环境高级编程---文件描述符浅析最近看到一本书叫《UNIX环境高级编程》,网上称这本书被誉为UNIX编程“圣经”,对所有不同层次UNIX/LINUX程序员是一本不可缺少的参考书。自己最近恰好看到GLIB中IOChannel这部分,...

    UNIX环境高级编程---文件描述符浅析

    最近看到一本书叫《UNIX环境高级编程》,网上称这本书被誉为UNIX编程“圣经”,对所有不同层次UNIX/LINUX程序员是一本不可缺少的参考书。自己最近恰好看到GLIB中IOChannel这部分,关于linux的IO这块很不清楚,先研究完这本书再说。

    文件描述符是一个小的非负整数,内核用以标识一个特定进程正在存访的文件。当内核打开一个现存文件或创建一个新文件时,它就返回一个文件描述符。当读、写文件时,就可使用它。说白了就是我们通常使用的句柄一个意思。


    一、文件描述符----文件表----v节点结构三者的联系

    既然文件描述符标识特定进程正在访问的文件,那进程跟文件是怎么联系起来的呢?

    1 首先我们得知道每运行一个进程,shell就会默认为其打开三个文件描述符(0,1,2),分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。

    2 接下来讲下内核所使用的三种数据结构,正是这三种数据结构才使进程最终跟文件联系起来。建议边看图一边看下面的文字描述

    2.1 1) 每个进程在进程表中都有一个记录项,每个记录项中有一张打开文件描述符表,可将其视为一个矢量,每个描述符占用一项。与每个文件描述符相关联的是:(a) 文件描述符标志。(b) 指向一个文件表项的指针

    2.2 2)内核为所有打开文件维持一张文件表。每个文件表项包含:(a) 文件状态标志(读、写、增写、同步、非阻塞等)。(b) 当前文件位移量。(c) 指向该文件v节点表项的指针。

    2.3 3)每个打开文件(或设备)都有一个v节点结构。是文件的重要信息部分。

    具体

    如图一,下图表示以上三个数据结构的关系:



    图一

    总之图一是一定要弄明白的,否则后面会更模糊。


    二、文件描述符的分配

    文件描述符的分配:当用户调用相关函数比如open, creat等函数时,如果成功,会返回一个文件描述符,返回的文件描述符一定是当前进程最小没有用到的描述符。但是要特别注意文件描述符的最大值,可以通过命令$ulimit –n查看文件描述符的最大值,一般linux发行版都是1024,当然这个值可以修改的,具体可以参考关于文件描述符。


    三、基于文件描述符的输入输出函数

    接下来讲讲基于文件描述符的输入输出函数:

    open:打开一个文件,并指定访问该文件的方式,调用成功后返回一个文件描述符。

    creat:打开一个文件,如果该文件不存在,则创建它,调用成功后返回一个文件描述符。

    close:关闭文件,进程对文件所加的锁全都被释放。

    read:从文件描述符对应的文件中读取数据,调用成功后返回读出的字节数。

    write:向文件描述符对应的文件中写入数据,调用成功后返回写入的字节数。

    ftruncate:把文件描述符对应的文件缩短到指定的长度,调用成功后返回0。

    lseek:在文件描述符对应的文件里把文件指针设定到指定的位置,调用成功后返回新指针的位置。

    fsync:将所有已写入文件中的数据真正写到磁盘或其他下层设备上,调用成功后返回0。

    fstat:返回文件描述符对应的文件的相关信息,把结果保存在struct stat中,调用成功后返回0。

    fchown:改变与打开文件相关联的所有者和所有组,调用成功后返回0。

    fchmod:把文件描述符对应的文件的权限位改为指定的八进制模式,调用成功后返回0。

    flock:用于向文件描述符对应的文件施加建议性锁,调用成功后返回0。

    fcntl:既能施加建议性锁也能施加强制性锁,能建立记录锁、读取锁和写入锁,调用成功后返回0。

    dup:复制文件描述符,返回没使用的文件描述符中最小的编号。

    dup2:由用户指定返回的文件描述符的值,用来重新打开或重定向一个文件描述符。

    select:同时从多个文件描述符读取数据或向多个文件描述符写入数据。


    这里就重点讲解下dup, dup2, fcntl函数,

    1. dup:

    函数原型:int dup(int filefd)

    函数功能:复制一份现存的文件描述符filefd

    2. dup2:

    函数原型:int dup2(int Oldfilefd, int Newfield)

    函数功能:复制一份现存的文件描述Oldfilefd,若Newfield等于Oldfilefd时,返回Newfield;若两者不相等时,若Newfield已经打开,先关闭Newfield,然后返回Newfield。

    3. fcntl:

    函数原型:int fcntl (int filefd, int cmd, …)

    函数功能:fcntl有5种功能,通过第二个参数cmd来决定。这里只讲一种:复制一份现存的文件描述符,cmd为F_DUPFD。

    由上面三个函数的功能都是复制文件描述符,记住是文件描述符,不是复制文件表,更不是复制v节点表,其实这三个函数有微妙的联系,如下:

    dup(filefd)

    相当于

    fcntl(filefd, F_DUPFD, 0)


    dup2(Oldfilefd, Newfilefd)

    相当于

    close(Newfilefd)

    fcntl(Oldfilefd, F_DUPFD, 0)

    主要区别是dup2操作是原子操作,执行过程中不会被打断,关于原子操作可以参考我的博文:Atomic Operation【原子操作符】简介【原】;。


    四,dup, dup2, fcntl对文件描述符----文件表----v节点结构影响

    《UNIX环境高级编程》一书第三章习题要求画出文件描述符----文件表----v节点结构三者的关系图。

    如下题:

    在假设一个进程执行下面的3个函数调用:

    fd1 = open(pathname, oflags);

    fd2 = dup(fd1);

    fd3 = open(pathname, oflags);

    画出结果图(类似于图一)。

    解答:每次调用open就分配一个文件表项,如果两次打开的是相同的文件,则两个文件表项指向相同的v节点结构,所以文件描述符fd1跟fd2所指向的文件表项都指向相同的v节点结构。dup是复制文件描述符,复制的文件描述符所指向的文件表跟被复制的文件描述符一样。所以结果图就是图一。


    五,参考资料

    ★ 《UNIX环境高级编程》

    ★ 关于文件描述符

    ★ 解惑dup/dup2(原创)

     

    转自:http://hi.baidu.com/lammy/blog/item/804c9a2bc9f9a3f0e7cd4038.html 

    转载于:https://www.cnblogs.com/hnrainll/archive/2011/11/06/2237872.html

    展开全文
  • UNIX环境高级编程---文件描述符浅析最近看到一本书叫《UNIX环境高级编程》,网上称这本书被誉为UNIX编程“圣经”,对所有不同层次UNIX/LINUX程序员是一本不可缺少的参考书。自己最近恰好看到GLIB中IOChannel这部分,...

    UNIX 环境高级编程---文件描述符浅析

    最近看到一本书叫《 UNIX 环境高级编程》,网上称这本书被誉为 UNIX 编程 圣经 ,对所有不同层次 UNIX/LINUX 程序员是一本不可缺少的参考书。自己 最近 恰好看到 GLIB IOChannel 这部分,关于 linux IO 这块很不清楚,先研究完这本书再说。

    文件描述符 是一个小的非负整数,内核用以标识一个特定进程正在存访的文件。当内核打开一个现存文件或创建一个新文件时,它就返回一个文件描述符。当读、写文件时,就可使用它。说白了就是我们通常使用的句柄一个意思。

     

    一、文件描述符---- 文件表 ----v 节点结构三者的联系

    既然文件描述符标识特定进程正在访问的文件,那进程跟文件是怎么联系起来的呢?

    首先我们得知道每运行一个进程,shell 就会默认为其打开三个文件描述符 (0,1,2) ,分别与标准输入 (stdin) ,标准输出 (stdout) 和标准错误 (stderr) 对应。

    接下来讲下内核所使用的三种数据结构,正是这三种数据结构才使进程最终跟文件联系起来。 建议边看图一边看下面的文字描述

    2.1  1)  每个进程在进程表中都有一个记录项,每个记录项中有一张打开文件描述符表,可将其视为一个矢量,每个描述符占用一项。与每个文件描述符相关联的是: (a)  文件描述符标志。 (b)  指向一个文件表项的指针

    2.2  2) 内核为所有打开文件维持一张文件表。每个文件表项包含: (a)  文件状态标志 ( 读、写、增写、同步、非阻塞等 ) (b)  当前文件位移量。 (c)  指向该文件 v 节点表项的指针。

    2.3  3) 每个打开文件(或设备)都有一个 v 节点结构。 是文件的重要信息部分。

    具体

    如图一,下图表示以上三个数据结构的关系:

    图一

    总之图一是一定要弄明白的,否则后面会更模糊。

     

    二、文件描述符的分配

    文件描述符的分配 当用户调用相关函数比如 open, creat 等函数时,如果成功,会返回一个文件描述符 ,返回的文件描述符一定是当前进程最小没有用到的描述符。但是要特别注意文件描述符的最大值,可以通过命令$ulimit  n查看文件描述符的最大值,一般 linux 发行版都是 1024 ,当然这个值可以修改的,具体可以参考 关于文件描述符

     

    三、基于文件描述符的输入输出函数

    接下来讲讲 基于文件描述符的输入输出函数:

    open:打开一个文件 ,并指定访问该文件的方式,调用成功后返回一个文件描述符。

    creat :打开一个文件,如果该文件不存在,则创建它,调用成功后返回一个文件描述符。

    close :关闭文件,进程对文件所加的锁全都被释放。

    read :从文件描述符对应的文件中读取数据,调用成功后返回读出的字节数。

    write :向文件描述符对应的文件中写入数据,调用成功后返回写入的字节数。

    ftruncate :把文件描述符对应的文件缩短到指定的长度,调用成功后返回 0

    lseek :在文件描述符对应的文件里把文件指针设定到指定的位置,调用成功后返回新指针的位置。

    fsync: 将所有已写入文件中的数据真正写到磁盘或其他下层设备上,调用成功后返回 0

    fstat :返回文件描述符对应的文件的相关信息,把结果保存在 struct stat 中,调用成功后返回 0

    fchown :改变与打开文件相关联的所有者和所有组,调用成功后返回 0

    fchmod :把文件描述符对应的文件的权限位改为指定的八进制模式,调用成功后返回 0

    flock :用于向文件描述符对应的文件施加建议性锁,调用成功后返回 0

    fcntl :既能施加建议性锁也能施加强制性锁,能建立记录锁、读取锁和写入锁,调用成功后返回 0

    dup :复制文件描述符,返回没使用的文件描述符中最小的编号。

    dup2 :由用户指定返回的文件描述符的值,用来重新打开或重定向一个文件描述符。

    select :同时从多个文件描述符读取数据或向多个文件描述符写入数据。

     

    这里就重点讲解下 dup, dup2, fcntl 函数

    1.  dup:

    函数原型:int dup(int filefd)

    函数功能:复制一份现存的文件描述符filefd

    2.  dup2:

    函数原型:int dup2(int Oldfilefd, int Newfield)

    函数功能:复制一份现存的文件描述Oldfilefd ,若 Newfield 等于 Oldfilefd 时,返回 Newfield ;若两者不相等时,若 Newfield 已经打开,先关闭 Newfield ,然后返回 Newfield

    3.  fcntl :

    函数原型:int  fcntl  (int filefd, int cmd,  )

    函数功能: fcntl 5 种功能,通过第二个参数 cmd 来决定。这里只讲一种:复制一份现存的文件描述符, cmd F_DUPFD

    由上面三个函数的功能都是 复制文件描述符,记住是文件描述符,不是复制文件表,更不是复制v 节点表 ,其实这三个函数有微妙的联系,如下:

    dup(filefd)

    相当于

    fcntl (filefd, F_DUPFD, 0)

     

    dup2(Oldfilefd, Newfilefd)

    相当于

    close( Newfilefd)

    fcntl ( Oldfilefd , F_DUPFD, 0)

    主要区别是 dup2 操作是原子操作,执行过程中不会被打断,关于原子操作可以参考我的博文: Atomic Operation【原子操作符】简介【原】 ;。

     

    四,dup, dup2, fcntl 文件描述符---- 文件表 ----v 节点结构影响

    UNIX 环境高 级编程》 一书第三章习题要求画出 文件描述符---- 文件表 ----v 节点结构三者的关系图

    如下题:

    在假设一个进程执行下面的3 个函数调用:

    fd1 = open(pathname, oflags);

    fd2 = dup(fd1);

    fd3 = open(pathname, oflags);

    画出结果图( 类似于图一 )

    解答:每次调用open 就分配一个文件表项,如果两次打开的是相同的文件,则两个文件表项指向相同的 v 节点结构,所以文件描述符 fd1 fd2 所指向的文件表项都指向相同的 v 节点结构。 dup 是复制文件描述符,复制的文件描述符所指向的文件表跟被复制的文件描述符一样。所以结果图就是图一。

     

    五,参考资料

    UNIX 环境高级编程》

    关于文件描述符

    解惑dup/dup2( 原创 )  

    展开全文
  • TCP/IP-------unix文件描述符-8

    千次阅读 2013-11-07 11:37:47
    UNIX环境高级编程---文件描述符浅析 http://hi.baidu.com/uu_dou/item/d81f0a018c8fbb13cd34eafb(地址) 最近看到一本书叫《UNIX环境高级编程》,网上称这本书被誉为UNIX编程“圣经”,对所有不同层次UNIX/LINUX...

    UNIX环境高级编程---文件描述符浅析
    http://hi.baidu.com/uu_dou/item/d81f0a018c8fbb13cd34eafb(地址)
    最近看到一本书叫《UNIX环境高级编程》,网上称这本书被誉为UNIX编程“圣经”,对所有不同层次UNIX/LINUX程序员是一本不可缺少的参考书。自己最近恰好看到GLIB中IOChannel这部分,关于linux的IO这块很不清楚,先研究完这本书再说。

    文件描述符是一个小的非负整数,内核用以标识一个特定进程正在存访的文件。当内核打开一个现存文件或创建一个新文件时,它就返回一个文件描述符。当读、写文件时,就可使用它。说白了就是我们通常使用的句柄一个意思。


    一、文件描述符----文件表----v节点结构三者的联系

    既然文件描述符标识特定进程正在访问的文件,那进程跟文件是怎么联系起来的呢?

    1 首先我们得知道每运行一个进程,shell就会默认为其打开三个文件描述符(0,1,2),分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。

    2 接下来讲下内核所使用的三种数据结构,正是这三种数据结构才使进程最终跟文件联系起来。建议边看图一边看下面的文字描述

    2.1 1) 每个进程在进程表中都有一个记录项,每个记录项中有一张打开文件描述符表,可将其视为一个矢量,每个描述符占用一项。与每个文件描述符相关联的是:(a) 文件描述符标志。(b) 指向一个文件表项的指针

    2.2 2)内核为所有打开文件维持一张文件表。每个文件表项包含:(a) 文件状态标志(读、写、增写、同步、非阻塞等)。(b) 当前文件位移量。(c) 指向该文件v节点表项的指针。

    2.3 3)每个打开文件(或设备)都有一个v节点结构。是文件的重要信息部分。

    具体

    如图一,下图表示以上三个数据结构的关系:

     

    图一

    总之图一是一定要弄明白的,否则后面会更模糊。


    二、文件描述符的分配

    文件描述符的分配:当用户调用相关函数比如open, creat等函数时,如果成功,会返回一个文件描述符,返回的文件描述符一定是当前进程最小没有用到的描述符。但是要特别注意文件描述符的最大值,可以通过命令$ulimit –n查看文件描述符的最大值,一般linux发行版都是1024,当然这个值可以修改的,具体可以参考关于文件描述符。


    三、基于文件描述符的输入输出函数

    接下来讲讲基于文件描述符的输入输出函数:

    open:打开一个文件,并指定访问该文件的方式,调用成功后返回一个文件描述符。

    creat:打开一个文件,如果该文件不存在,则创建它,调用成功后返回一个文件描述符。

    close:关闭文件,进程对文件所加的锁全都被释放。

    read:从文件描述符对应的文件中读取数据,调用成功后返回读出的字节数。

    write:向文件描述符对应的文件中写入数据,调用成功后返回写入的字节数。

    ftruncate:把文件描述符对应的文件缩短到指定的长度,调用成功后返回0。

    lseek:在文件描述符对应的文件里把文件指针设定到指定的位置,调用成功后返回新指针的位置。

    fsync:将所有已写入文件中的数据真正写到磁盘或其他下层设备上,调用成功后返回0。

    fstat:返回文件描述符对应的文件的相关信息,把结果保存在struct stat中,调用成功后返回0。

    fchown:改变与打开文件相关联的所有者和所有组,调用成功后返回0。

    fchmod:把文件描述符对应的文件的权限位改为指定的八进制模式,调用成功后返回0。

    flock:用于向文件描述符对应的文件施加建议性锁,调用成功后返回0。

    fcntl:既能施加建议性锁也能施加强制性锁,能建立记录锁、读取锁和写入锁,调用成功后返回0。

    dup:复制文件描述符,返回没使用的文件描述符中最小的编号。

    dup2:由用户指定返回的文件描述符的值,用来重新打开或重定向一个文件描述符。

    select:同时从多个文件描述符读取数据或向多个文件描述符写入数据。


    这里就重点讲解下dup, dup2, fcntl函数,

    1. dup:

    函数原型:int dup(int filefd)

    函数功能:复制一份现存的文件描述符filefd

    2. dup2:

    函数原型:int dup2(int Oldfilefd, int Newfield)

    函数功能:复制一份现存的文件描述Oldfilefd,若Newfield等于Oldfilefd时,返回Newfield;若两者不相等时,若Newfield已经打开,先关闭Newfield,然后返回Newfield。

    3. fcntl:

    函数原型:int fcntl (int filefd, int cmd, …)

    函数功能:fcntl有5种功能,通过第二个参数cmd来决定。这里只讲一种:复制一份现存的文件描述符,cmd为F_DUPFD。

    由上面三个函数的功能都是复制文件描述符,记住是文件描述符,不是复制文件表,更不是复制v节点表,其实这三个函数有微妙的联系,如下:

    dup(filefd)

    相当于

    fcntl(filefd, F_DUPFD, 0)


    dup2(Oldfilefd, Newfilefd)

    相当于

    close(Newfilefd)

    fcntl(Oldfilefd, F_DUPFD, 0)

    主要区别是dup2操作是原子操作,执行过程中不会被打断,关于原子操作可以参考我的博文:;。


    四,dup, dup2, fcntl对文件描述符----文件表----v节点结构影响

    《UNIX环境高级编程》一书第三章习题要求画出文件描述符----文件表----v节点结构三者的关系图。

    如下题:

    在假设一个进程执行下面的3个函数调用:

    fd1 = open(pathname, oflags);

    fd2 = dup(fd1);

    fd3 = open(pathname, oflags);

    画出结果图(类似于图一)。

    解答:每次调用open就分配一个文件表项,如果两次打开的是相同的文件,则两个文件表项指向相同的v节点结构,所以文件描述符fd1跟fd2所指向的文件表项都指向相同的v节点结构。dup是复制文件描述符,复制的文件描述符所指向的文件表跟被复制的文件描述符一样。所以结果图就是图一。


     

     

    展开全文
  • 好激动,第一次写博客。 问题描述: 我在学习朱老师物联网大讲堂ARM裸机第四部分,在点亮LED...原因分析:提示缺少分隔,可能是makefile文件的符号问题,具体原因我参考了该博客https://blog.csdn.net/baidu_3797349

    好激动,第一次写博客。
    问题描述:
    我在学习朱老师物联网大讲堂ARM裸机第四部分,在点亮LED灯中碰到了make产生Makefile:14: *** missing separator. Stop.问题。参考图1:
    图1
    当我配置好后,make 发现了提示错误,Makefile:14: *** missing separator. Stop缺少分隔符。
    原因分析:提示缺少分隔符,可能是makefile文件的符号问题,具体原因我参考了该博客https://blog.csdn.net/baidu_37973494/article/details/82783258。 谢谢他为我提供的思路。但是我参考他的解决办法发现还有问题。于是以下附上我的解决办法。
    解决办法:问题原因是由于makefile文件,命令行之前需要有Tab键 于是我的Makefile文件必然有键位不当的问题。于是我进行vi修改文件,附上我原Makefile 文件,如图2:

    图2
    由于本人现阶段对Makefile文件理解有限,红色表示命令行前已经有Tab键,但是我进行make依然出错,**于是我在PHONY clean这一行前加入Tab键 ,发现问题解决,make完成。如图3,图4:

    图3
    图4
    总结:出现 Makefile:14: missing separator. Stop问题表示我们makefile文件存在键位不当的问题,一定要记得在命令行前加Tab键

    展开全文
  • error C4430: 缺少类型说明 - 假定为 int。 error C3646: 未知重写说明 error C2039: “xxx”: 不是 “xxx” 的成员 原因分析: socket_server.cpp中引入了thread.h和mutex.h以及Winsock.h等头文件,在...
  • 错误 C4430 缺少类型说明 - 假定为 int。注意: C++ 不支持默认 int yolov5 c:\users\administrator\desktop\vs3013\yolov5\yolov5\yolov5\yolov5.h 41 解决方法 检查.h中的宏定义是否缺失或者有误 ...
  • ORACLE 32位数据库正常安装,sqlplus 正常连接数据库但是PL/SQL developer 64位却报出这个错误。...监听文件缺失,将E:\app\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora 文件复制到32位客户端的根...
  • oracle服务器缺少本地IP的监听设置,可以通过修改配置文件,也可以通过数据库提供的 Net Manager进行配置。 1、 TNS配置两个地址:一个是 localhost 一个是自己的本地IP tnsnames.ora文件...
  • 最近复习oracle数据库,又下载了Oracle11G 版本进行安装,安装过程中也出现了一些问题,例如缺少2005+CFramework,这个去百度查一下安装指令包就行了。 注意:Oracle11G 一共是两个压缩文件,都是1G左右,需要将俩...
  •  我这里先描述本人碰到的问题:  正如上图所见,一段在我们眼里看起来没有任何错误的代码,居然爆出了4430的错误,先不急,我们先看一看DlgAddAccount.h文件中包含的头文件:  再看一看...
  • 问题描述: 最近由于经常使用切换qtcreator和vs进行编程,于是在qtcreator编译通过的情况下在vs编译的时候遇到如下问题: 解决:检查文件的编码格式,是否为不带BOM的UTF-8格式,如果是,将其转换为带BOM的...
  • 问题出现后,自己首先想到的是,是不是有些行的末尾缺少换行,或者有特殊格式的字符,导致Excel在打开csv文件时,将它们放在一个单元格中。 之后,用文本编辑器打开程序生成的csv文件,发现被放在同一个单元格中...
  • 所有的初级i/o函数都是针对“文件描述符”的,当我们打开一个文件就会返回一个“文件描述符”,然会该文件描述符就用于后续的i/o操作;而标准的i/o库,则围绕的是“流”进行的,当用标准i/o库打开或创建一个文
  • 症状描述 1. 在“命令提示”中,所有内置命令都无法运行,如图1所示。图12. 但是在“命令提示”中直接输入命令对应的完整路径则可以运行,如图2所示。 图2 原因分析 从症状2可以看出,命令本身不存在文件丢失...
  • 问题描述 使用R语言读取csv文件或者txt...所读取文件的最后一行缺少一个换行,导致R语言无法识别最后一行 解决办法 打开想读取的csv文件/txt文件,直接拉到文件最后一行,按Enter,让光标进入下一行,保存即可。 ...
  • 返回值:返回最小且未被占用的文件描述符下标(文件描述符) 1、在应用层,一般打开文件时,返回为3 因为每个应用层的程序打时,都不可缺少键盘/屏幕/错误输出,所以init进程在运行进程时,都会为你打开"键盘/屏幕/...
  • 问题描述:  在其他类中包含*view.h,编译出 *view.h(16) : error C2143: 语法错误 : 缺少“;”(在“*”的前面) *view.h(16) : error C4430: 缺少类型说明 - 假定为 int。注意: C++ 不支持默认 int *view.h...
  • ADT 错误消息 ...下表列出了 ADT 程序可能报告的错误以及可能的原因: ...检查应用程序描述符文件中是否有标签未封闭等 XML 语法错误。 101 缺少命名空间 添加缺少的命名空...
  • Draftsman的“更新板”命令已更改为“从[PCB文档]导入更改”以更好地描述其功能。 多板 21572 修复了Space Navigator中MbaDoc中3D运动与PcbDoc不一致的问题。 23734 修复了拆分Multi-Board Schematic的信号Entry ...
  • python 中 with 的用法和原理

    千次阅读 2019-05-09 14:29:01
    在写代码过程中,我们一般会有这样的问题,如文件描述符打开,关闭,锁的加锁,解锁,一旦缺少任何一环都会对系统造成严重影响,如果不能正确关闭描述符,就会导致可用的描述符数量急剧下降,如果不能正常解锁,会...
  • 怎么完成提取呢? 1.首先下载这个AFSEXPLOXER3.7,打开游戏目录下img文件夹...然后弹出缺少描述符信息,使用调整预留空间来修正它...等等字眼,这里我选否,然后按确定(注意:选是的话会提示你生成新的文件,这个是建议没...
  • jvm jstat 我一直缺少在JStat中配置自定义标头的可能性 。 当然,有很多预定义的数据集,但是如果我们可以创建自己的数据集,那就更好了。 正如您可能已经设计的... 该描述符只是一个文本文件,其中包含我们称为...
  • 我一直缺少在JStat中配置自定义标头的可能性 。 当然,有很多预定义的数据集,但是如果我们可以创建自己的数据集,那就更好了。 正如您可能已经设计的... 该描述符只是一个文本文件,其中包含我们称为“ jstat规范...
  • jstat 我一直缺少在JStat中配置自定义标头的可能性。 当然,有很多预定义的数据集,但是如果我们可以创建自己的数据集,那就更好了。 正如您可能已经设计的... 该描述符只是一个文本文件,其中包含我们称为“ jst...
  • 就是提示缺少文件描述符。 最后,阿里云ES和本地ES不一样,阿里云ES 上传的zip包解压后,直接就是内容,并没有一个大包囊括这些生成的东西。如下。而本地ES是可以的。唉,就这么个东西折腾,烦死了 ...
  • 我在Python中使用OpenCV 2.4来匹配两个图像之间的特性,但是我想更改“ORB”检测器的...特性检测器/描述符牵引器的方法。但是Python绑定缺少此函数/方法。它还缺少直接创建ORB对象的绑定,所以我不能在那里传递参数...
  • 文件系统相关的部分,比如文件描述符的分配等; 传输层的实现,套接字的创建肯定是要传输层参与的,但是不同的传输层处理方式又不同,这种协议差异会单独在相关笔记中介绍。 socket()系统调用涉及的核心函数调用...

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

缺少描述符文件