zoukankan      html  css  js  c++  java
  • unistd.h

    原文:http://www.cnblogs.com/alionxd/articles/3013933.html

    unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称。该头文件由 POSIX.1 标准(单一UNIX规范的基础)提出,故所有遵循该标准的操作系统和编译器均应提供该头文件(如 Unix 的所有官方版本,包括 Mac OS X、Linux 等)。
     
    对于类 Unix 系统,unistd.h 中所定义的接口通常都是大量针对系统调用的封装(英语:wrapper functions),如 fork、pipe 以及各种 I/O 原语(read、write、close 等等)。
     
    类似于 Cygwin 和 MinGW 的 Unix 兼容层也提供相应版本的 unistd.h。

    Linux下开发的C程序都需要头文件unistd.h,但VC中没有个头文件,
    所以用VC编译总是报错。把下面的内容保存为unistd.h,可以解决这个问题。

    /** This file is part of the Mingw32 package.
    unistd.h maps     (roughly) to io.h
    */

    #ifndef _UNISTD_H
    #define _UNISTD_H

    #include <io.h>
    #include <process.h>

    #endif /* _UNISTD_H */

    细节决定成败,我深信。最近我在看进程方面的程序时,发现多数程序中引用到了unistd.h这个文件,就查了一下它的含义,如下:

    unistd的意思是Unix Standard的意思,里面定义的宏一类的东西都是为了Unix标准服务的(一般来说包括了POSIX的一些常量……
    unistd是 unix 系统标准头文件,用于系统调用,相当于win32中的windows.h。比如用到unistd中的getpid(),获取系统进程的id,在windows下直接用GetCurrentProcessId和getWindowThreadProcessId函数可实现要求,在winbase.h头文件中。

    #ifdef WIN32
        #include <windows.h>
    #else
       #include <unistd.h>
    #endif

  • 相关阅读:
    全面解析Vue.nextTick实现原理
    js 宏任务和微任务
    模拟实现ES6的set类
    git客户端出现libpng warning: iCCP: known incorrect sRGB profile
    js封装、继承
    js单例模式
    并行运行多个python虚拟机
    关于场景服务的一些想法
    关于不能对闭包函数进行热更新的问题
    Python string interning原理
  • 原文地址:https://www.cnblogs.com/lizhigang/p/7338501.html
Copyright © 2011-2022 走看看