zoukankan      html  css  js  c++  java
  • Unix环境高级编程学习笔记(二)

    Unix标准化及实现

    三种主要的标准:

     ISO C   IEEE POSIX  Single UNIX Specification(XSI)

    一层一层递增,IEEE POSIX 是ISO C的超集。XSI 是POSIX的超集。

    限制

    要想提高软件的可移植性,就必须有限制:

    • 编译时限制
    • 运行时的限制

    编译时限制:因为某些限制是固定的,则可以在头文件中定义。

    运行时限制:限制是变化的,则必须在函数运行时调用函数取的。

    三大标准中的限制

    ISO C限制:都是编译时限制,头文件<limits.h>中定义的常量。

    POSIX 限制:分为19个不变最小值,不变值:SSIZE_MAX。运行时可增加的值,运行时不变的值,路径名可变值。

    这些值有一些定义在头文件中,有一些则可定义或者不定义。那些可定义和不定义的值,不能在编译中实现,则只能在运行中得到,POSIX提供三个函数:sysconf,pathsysconf和fpathconf.

    XSI限制:不变最小值,数值限制,运行时不变值。

    运行时限制调用的三个函数

    #include《unistd.h》
    long sysconf(int name);
    long pathconf(const char *pathname, int name);
    long fpathconf(int filedes, int name);

    后两个函数的区别是,一个用路径名作参数,一个用文件描述符作为参数。

    sysconf的参数:以_SC_开头

    pathconfi和fpathconf的参数:以_PC_开头(其中的一些参数)

     

  • 相关阅读:
    p1012拼数题解
    LeetCode OJ :Unique Binary Search Trees II(唯一二叉搜索树)
    UVA 11827 Maximum GCD
    LightOJ1336 Sigma Function(约数和为偶数的个数)
    LightOJ 1197 Help Hanzo(区间素数筛选)
    LightOJ 1236
    BZOJ3339 Rmq Problem
    COJ983 WZJ的数据结构(负十七)
    LCA的五种解法
    hdu4223(dp)
  • 原文地址:https://www.cnblogs.com/yestreen/p/3049418.html
Copyright © 2011-2022 走看看