unistd.h文件

2023-11-09

转载地址:http://baike.baidu.com/link?url=nEyMMFYevs4yoHgQUs2bcfd5WApHUKx0b1ervi7ulR09YhtqC4txmvL1Ce3FS8xTKtWQuvmEBHC9xezMGpvGHa

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

unistd.h 源码

#ifndef _UNISTD_H
#define _UNISTD_H
#include <features.h>
#ifdef __cplusplus
extern "C" {
#endif
#include <_ansi.h>
#include <sys/types.h>
#include <sys/_types.h>
#define __need_size_t
#define __need_ptrdiff_t
#include <stddef.h>
extern char **environ;
void    _EXFUN(_exit, (int __status ) _ATTRIBUTE ((noreturn)));
int    _EXFUN(access,(const char *__path, int __amode ));
unsigned  _EXFUN(alarm, (unsigned __secs ));
int     _EXFUN(chdir, (const char *__path ));
int     _EXFUN(chmod, (const char *__path, mode_t __mode ));
int     _EXFUN(chown, (const char *__path, uid_t __owner, gid_t __group ));
int     _EXFUN(chroot, (const char *__path ));
int     _EXFUN(close, (int __fildes ));
char    _EXFUN(*ctermid, (char *__s ));
char    _EXFUN(*cuserid, (char *__s ));
int     _EXFUN(dup, (int __fildes ));
int     _EXFUN(dup2, (int __fildes, int __fildes2 ));
int     _EXFUN(execl, (const char *__path, const char *, ... ));
int     _EXFUN(execle, (const char *__path, const char *, ... ));
int     _EXFUN(execlp, (const char *__file, const char *, ... ));
int     _EXFUN(execv, (const char *__path, char * const __argv[] ));
int     _EXFUN(execve, (const char *__path, char * const __argv[], char * const __envp[] ));
int     _EXFUN(execvp, (const char *__file, char * const __argv[] ));
int     _EXFUN(fchdir, (int __fildes));
int     _EXFUN(fchmod, (int __fildes, mode_t __mode ));
int     _EXFUN(fchown, (int __fildes, uid_t __owner, gid_t __group ));
pid_t   _EXFUN(fork, (void ));
long    _EXFUN(fpathconf, (int __fd, int __name ));
int     _EXFUN(fsync, (int __fd));
int     _EXFUN(ftruncate, (int __fd, off_t __length));
char    _EXFUN(*getcwd, (char *__buf, size_t __size ));
int    _EXFUN(getdomainname ,(char *__name, size_t __len));
gid_t   _EXFUN(getegid, (void ));
uid_t   _EXFUN(geteuid, (void ));
gid_t   _EXFUN(getgid, (void ));
int     _EXFUN(getgroups, (int __gidsetsize, gid_t __grouplist[] ));
int     _EXFUN(__gethostname, (char *__name, size_t __len));
char    _EXFUN(*getlogin, (void ));
#if defined(_POSIX_THREAD_SAFE_FUNCTIONS)
int _EXFUN(getlogin_r, (char *name, size_t namesize) );
#endif
char     _EXFUN(*getpass, (__const char *__prompt));
int  _EXFUN(getpagesize, (void));
pid_t   _EXFUN(getpgid, (pid_t));
pid_t   _EXFUN(getpgrp, (void ));
pid_t   _EXFUN(getpid, (void ));
pid_t   _EXFUN(getppid, (void ));
uid_t   _EXFUN(getuid, (void ));
char *    _EXFUN(getusershell, (void));
char    _EXFUN(*getwd, (char *__buf ));
int     _EXFUN(isatty, (int __fildes ));
int     _EXFUN(lchown, (const char *__path, uid_t __owner, gid_t __group ));
int     _EXFUN(link, (const char *__path1, const char *__path2 ));
int    _EXFUN(nice, (int __nice_value ));
off_t   _EXFUN(lseek, (int __fildes, off_t __offset, int __whence ));
long    _EXFUN(pathconf, (const char *__path, int __name ));
int     _EXFUN(pause, (void ));
int     _EXFUN(pipe, (int __fildes[2] ));
ssize_t _EXFUN(pread, (int __fd, void *__buf, size_t __nbytes, off_t __offset));
ssize_t _EXFUN(pwrite, (int __fd, const void *__buf, size_t __nbytes, off_t __offset));
_READ_WRITE_RETURN_TYPE _EXFUN(read, (int __fd, void *__buf, size_t __nbyte ));
int     _EXFUN(readlink, (const char *path, char *buf, size_t bufsiz));
int     _EXFUN(rmdir, (const char *__path ));
void *  _EXFUN(sbrk,  (ptrdiff_t __incr));
int     _EXFUN(setegid, (gid_t __gid ));
int     _EXFUN(seteuid, (uid_t __uid ));
int     _EXFUN(setgid, (gid_t __gid ));
int     _EXFUN(setpgid, (pid_t __pid, pid_t __pgid ));
int     _EXFUN(setpgrp, (void ));
pid_t   _EXFUN(setsid, (void ));
int     _EXFUN(setuid, (uid_t __uid ));
unsigned _EXFUN(sleep, (unsigned int __seconds ));
void    _EXFUN(swab, (const void *, void *, ssize_t));
int     _EXFUN(symlink, (const char *oldpath, const char *newpath));
long    _EXFUN(sysconf, (int __name ));
pid_t   _EXFUN(tcgetpgrp, (int __fildes ));
int     _EXFUN(tcsetpgrp, (int __fildes, pid_t __pgrp_id ));
int     _EXFUN(truncate, (const char *, off_t __length));
char *  _EXFUN(ttyname, (int __fildes ));
int     _EXFUN(ttyname_r, (int __fildes, char *__buf, size_t __len));
int     _EXFUN(unlink, (const char *__path ));
int     _EXFUN(usleep, (__useconds_t __useconds));
int     _EXFUN(vhangup, (void ));
_READ_WRITE_RETURN_TYPE _EXFUN(write, (int __fd, const void *__buf, size_t __nbyte ));
extern char *optarg;            /** getopt(3) external variables */
extern int optind, opterr, optopt;
int     getopt(int, char * const [], const char *);
extern int optreset;            /** getopt(3) external variable */
#ifndef        _POSIX_SOURCE
pid_t   _EXFUN(vfork, (void ));
extern char *suboptarg;            /** getsubopt(3) external variable */
int     getsubopt(char **, char * const *, char **);
#endif /** _POSIX_SOURCE */
/** Provide prototypes for most of the _<systemcall> names that are
provided in newlib for some compilers.  */
int     _EXFUN(_close, (int __fildes ));
pid_t   _EXFUN(_fork, (void ));
pid_t   _EXFUN(_getpid, (void ));
int     _EXFUN(_link, (const char *__path1, const char *__path2 ));
off_t   _EXFUN(_lseek, (int __fildes, off_t __offset, int __whence ));
_READ_WRITE_RETURN_TYPE _EXFUN(_read, (int __fd, void *__buf, size_t __nbyte ));
void *  _EXFUN(_sbrk,  (size_t __incr));
int     _EXFUN(_unlink, (const char *__path ));
_READ_WRITE_RETURN_TYPE _EXFUN(_write, (int __fd, const void *__buf, size_t __nbyte ));
int     _EXFUN(_execve, (const char *__path, char * const __argv[], char * const __envp[] ));
#define    F_OK    0
#define    R_OK    4
#define    W_OK    2
#define    X_OK    1
# define    SEEK_SET    0
# define    SEEK_CUR    1
# define    SEEK_END    2
#include <sys/features.h>
#define STDIN_FILENO    0       /** standard input file descriptor */
#define STDOUT_FILENO   1       /** standard output file descriptor */
#define STDERR_FILENO   2       /** standard error file descriptor */
#include <bits/environments.h>
#include <bits/confname.h>
# define        MAXPATHLEN      1024
#ifdef __cplusplus
}
#endif
#endif /** _SYS_UNISTD_H */


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unistd.h文件 的相关文章

  • C语言学习之认识exit()函数

    C语言学习之认识exit 函数 在C语言的main函数中我们通常使用return 0 exit 0 表示程序正常退出 exit exit 1 表示程序异常退出 exit 结束当前进程 当前程序 在整个程序中 只要调用 exit 就结束 但在
  • 解决复制粘贴出现的错误

    proc2 c 49 5 错误 程序中有游离的 240 proc2 c 49 5 错误 程序中有游离的 302 proc2 c 49 5 错误 程序中有游离的 240 proc2 c 49 5 错误 程序中有游离的 302 proc2 c
  • 构造函数属性为protected或者private时

    在c 中 不仅限于c 一个函数被声明为protected或者private时 那也就意味着不能被外部直接调用了 类的成员函数add 是private class cla private int add int a int b return
  • C语言中构造随机数原理及rand()取余构造随机数方法

    在C语言中 ANSIC C程序库提供rand 函数来产生随机数 但事实上 rand 是并不是一个真正的随机数产生器 即可以预测随机序列的顺序 在默认随机种子情况下产生0 99之间的随机数 其随机序列为 83 86 77 15 比如以下程序
  • C或C++文件操作大全

    文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的读写操作 fgetc 从文件中读取一个字符 fputc 写一个字符到文件中去 fgets 从文件中读取一个字符串 fputs 写一个字符串到文件中去
  • 利用枚举类型变量求从5种颜色球中取3个不同颜色球的取法

    利用枚举类型变量求从5种颜色球中取3个不同颜色球的取法 C程序设计 第二版 谭浩强 著 11 9 例11 3 口袋里有红 黄 蓝 白 黑5种颜色的若干个 每次从口袋中取出3个球 问得到3种不同色的球的可能取法 输出每种排列的情况 程序 在V
  • 计算字符串长度函数大全

    字符串的长度通常是指字符串中包含字符的数目 但有的时候人们需要的是 字符串所占字节的数目 常见的获取字符串长度的方法包括如下几种 1 使用sizeof获取字符串长度 sizeof的含义很明确 它用以获取 字符数组的字节数 当然包括结束符 0
  • 结构体指针变量使用方法举例

    include
  • unistd.h文件

    转载地址 http baike baidu com link url nEyMMFYevs4yoHgQUs2bcfd5WApHUKx0b1ervi7ulR09YhtqC4txmvL1Ce3FS8xTKtWQuvmEBHC9xezMGpvGH
  • 错误:Visual Studio has encountered a problem and needs to close

    我使用VS2008 Qt4 7 4开发时 安装Qt后报出该错误 google了一下解决了问题 原来在安装QT插件不正确导致的 在360软件管家中 卸载了qt win opensource 4 7 4 vs2008 但qt vs addin
  • 一组整数的全排列【C程序】

    include iostream using namespace std int myfactorial int n int i factorial i 1 factorial 1 while i lt n factorial factor
  • c++的默认拷贝构造函数,从深度拷贝和浅拷贝说起

    本文收录于微信公众号 LinuxOK ID为 Linux ok 关注公众号第一时间获取更多技术学习文章 1 c 类的默认拷贝构造函数的弊端 c 类的中有两个特殊的构造函数 1 无参构造函数 2 拷贝构造函数 它们的特殊之处在于 1 当类中没
  • CT2A

    1 CString转为char char szAsciiIP 64 memcpy szAsciiIP CT2A m pEncoder gt m strIP sizeof szAsciiIP 2 详见MSDN http msdn micros
  • C++中new与delete问题学习

    C 中new与delete问题学习 一 new char与delete问题 1 问题程序 include
  • C/C++基于线程的并发编程(二):线程安全和线程锁

    线程安全 所谓线程安全不是指线程的安全 而是指内存的安全 线程是由进程所承载 所有线程均可访问进程的上下文 意味着所有线程均可访问在进程中的内存空间 这也是线程之间造成问题的潜在原因 当多个线程读取同一片内存空间 变量 对象等 时 不会引起
  • 让bat批处理以管理员权限运行的实现方法

    1 第一种方法 有的电脑是非管理员登录 运行程序时 需要提示是否运行运行 解决方法如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 echooff 1 2 ver find 5 gt nul goto Admin
  • VS2008如何打开memory窗口

    VS2008如何打开memory窗口 1 在想要观察的变量处设置断点 2 运行工程至断点处 3 debug gt windows gt memory 4 将变量名称复制至memory的address处 按enter键即可 5 右击内存显示去
  • C++中的typeInfo用法总结

    最近在做测试 在大型程序中 模板类型加上继承关系搞得我混乱 还好有tpyeinfo帮助捋顺关系 typeInfo与typeid简单总结说明 和sizeof这类的操作符一样 typeid是C 的关键字之一 typeid操作符的返回结果是名为t
  • VS2008错误Error spawning 'cmd.exe'的解决方法

    解决方法 In the Options go into Projects and Solutions gt VC Directories page and place this rows SystemRoot System32 System
  • C++设计模式-State状态模式

    State状态模式作用 当一个对象的内在状态改变时允许改变其行为 这个对象看起来像是改变了其类 UML图如下 State类 抽象状态类 定义一个接口以封装与Context的一个特定状态相关的行为 ConcreteState类 具体状态 每一

随机推荐

  • Ubuntu16.04下caffe安装编译全过程(CPU)

    caffe是深度学习最好用的框架之一 但caffe的安装编译过程相对较复杂 本人在安装编译时百度了好几个版本 都没有一次成功过 因此在此总结一下自己的编译过程 本文是在Ubuntu16 04下安装编译caffe 其他版本会略有不同 该教程本
  • com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl.

    问题 IDEA调试JDBC出错 com alibaba druid support logging JakartaCommonsLoggingImpl error create connection SQLException url jdb
  • 外包测试3年,离职后成功入职阿里,拿到offer的那天我泪目了...

    一提及外包测试 大部分人的第一印象就是 工作强度大 技术含量低 没有归属感 外包工作三年总体感受就是这份工作缺乏归属感 心里总有一种落差 进步空间不大 接触不到核心技术 公司没有针对你的技术培训与探究 工作简单 业务重复 通常是工具人的存在
  • QDockWidget布局方式

    上图为DockWidget多控件效果图 QDockWidget dock QLatin1String Last filters QWidget multiWidget new QWidget QVBoxLayout layout new Q
  • oracle生成不同uuid,oracle生成uuid

    select sys guid from dual gt 78AE331ADB2B4CE7AB598B1317B39D58 但该函数如下问题 1 返回类型为RAW 2 没有 dash 分隔符 3 返回的字母大写 为了使产生的uuid符合rf
  • vue3之createApp分析

    函数定义 createApp函数定义在文件 packages runtime dom src index ts中 export const createApp args gt const app ensureRenderer createA
  • Python 贝叶斯在文本分类的应用案例

    关注微信公共号 小程在线 关注CSDN博客 程志伟的博客 1 1 文本编码技术简介 1 1 1 单词计数向量 在开始分类之前 我们必须先将文本编码成数字 一种常用的方法是单词计数向量 在这种技术中 一个样本可以包 含一段话或一篇文章 这个样
  • 10种排序算法总结(Python 版)

    文章目录 1 冒泡排序 O n 2 2 快速排序 O nlogn 3 简单插入排序 O n 2 4 希尔排序 O n log n 5 简单选择排序 O n 2 6 堆排序 O n log n 7 归并排序 O n log n 8 计数排序
  • 解决keil5编译报错 undefined symbol

    在编译keil5 工程时出现报错 xxx axf Error L6218E Undefined symbol xxx referred from xxxo 正常情况下遇到Undefined symbol问题根据经验有以下几种原因 1 c文件
  • pinia实现持久化存储

    pinia的作用是什么 Pinia 是 Vue 的存储库 它允许您跨组件 页面共享状态 如果您熟悉 Composition API 您可能会认为您已经可以通过一个简单的 export const state reactive 这对于单页应用
  • 论文笔记--Attention is all you need

    Attention is all you need transformer模型 摘要 当前的序列转录模型基于encoder和decoder的循环或卷积神经网络 较好的做法是在encoder和decoder中间加入一个注意力机制 我们提出了一
  • 使用Spyder,导入tensorflow以及相关库出现kernel died等问题的解决方法

    自从使用了Spyder之后 感觉腰不算了 腿不疼了 走路都带风了 呵呵 好吧 那是之前 使用Spyder给我的感觉就好像一台快报废的电脑重新装了系统一样 刚开始顺风顺水 可是后来就发现毕竟是老年机 容易出现个什么白内障 风湿病什么的 做一些
  • 离散数学:数学语言与证明方法(练习题)

    练习1 1 判断下列命题是真是假 1 x x 答 假 x 并不是 x 元素 2 x x 答 真 x 是 x 子集 3 x x 答 真 x 是 x 元素 4 x x 答 假 x 不是 x 子集 5 x 答 真 是 x 元素但不是任何集合元素
  • SpringBoot:构建一个SpringBoot项目

    文章目录 一 创建项目 1 点击 File gt Project 2 选择 Spring Initializr 3 填写项目基本信息 5 目录结果 6 pom xml 依赖 7 主函数入口 二 项目启动 测试 三 项目源码 SpringBo
  • MongoDB常见问题

    问题一 还原报错 root mongodb bin mongorestore h 127 0 0 1 27017 d runoob directoryperdb data db runoob 2022 12 19T19 47 23 909
  • [LeetCode-21]-Merge Two Sorted Lists(有序列表合并)

    文章目录 题目相关 Solution 不带头结点 增加头结点 使用递归 题目相关 题目解读 合并两个有序列表 并返回新列表 原题描述 原题链接 Merge two sorted linked lists and return it as a
  • 合并两个有序表到新的有序表

    系列目录 左右移动 旋转 数组元素 查找两个升序数组的中间数 判断数组的某一个元素的数量是否超过了整个数组数量的一半 文图介绍 将有序数组A和有序数组B合并得有序数组C A 1 2 3 4 5 B 2 3 4 5 6 C 1 2 2 3 3
  • java什么时候用异常_深入理解Java异常的使用场景

    最近在项目代码中 遇见异常滥用的情形 分析下会带来哪些后果 1 代码可读性变差 业务逻辑难以理解 异常流与业务状态流混在一起 无法从接口协议层面理解业务代码 只能深入到方法 Method 内部才能准确理解返回值的行为 可看一下代码 publ
  • 如何计算留存率(Hive Sql or Spark sql)

    在互联网行业中 用户在某段时间内开始使用应用 经过一段时间后 仍然继续使用该应用的用户 被认作是留存用户 这部分用户占当时新增用户的比例即是留存率 会按照每隔1单位时间 例日 周 月 来进行统计 顾名思义 留存指的就是 有多少用户留下来了
  • unistd.h文件

    转载地址 http baike baidu com link url nEyMMFYevs4yoHgQUs2bcfd5WApHUKx0b1ervi7ulR09YhtqC4txmvL1Ce3FS8xTKtWQuvmEBHC9xezMGpvGH