青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Onway

我是一只菜菜菜菜鳥...
posts - 61, comments - 56, trackbacks - 0, articles - 34

APUE第二章 UNIX標準化及實現

Posted on 2015-12-08 22:35 Onway 閱讀(456) 評論(0)  編輯 收藏 引用 所屬分類: 使用說明
1, 三個標準
1.1, ISO C標準由ISO/IEC維護開發
最新版本是C11,共有29個標準頭文件。

1.2, POSIX是一系列由IEEE制定的標準
POSIX包括ISO C標準庫函數。
POSIX標準的1988版本是IEEE 1003.1-1988,經過修改后作為IEEE Std.1003.1-1990提交ISO,成為國際標準ISO/IEC 9945-1:1990,該標準通常稱為POSIX.1。
當前最新版本是POSIX.1-2008,由IEEE和Open Group共同開發。

1.3, SUS是POSIX的超集,其系統接口全集稱為XSI
The core specifications of the SUS are developed and maintained by the Austin Group, which is a joint working group of IEEE, ISO JTC 1 SC22 and The Open Group.
只有遵循XSI的實現才能稱為UNIX系統。
當前的最新版本是SUSv4。

1.4, 找到一些網址
C11
http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=57853

POSIX.1-2008
http://pubs.opengroup.org/onlinepubs/9699919799/
https://standards.ieee.org/findstds/standard/1003.1-2008.html

SUSv4
https://www2.opengroup.org/ogsys/jsp/publications/PublicationDetails.jsp?publicationid=12310
https://en.wikipedia.org/wiki/Single_UNIX_Specification#cite_note-11

2, 限制
2.1 兩種限制
編譯時限制和運行時限制。
編譯時限制通過頭文件獲?。?/span>
不與文件或目錄相關的運行時限制通過sysconf函數獲取;
與文件或目錄相關的運行時限制通過pathconf和fpathconf函數獲取。

2.2 ISO C限制
都是編譯時限制,主要定義在<limits.h>里面。
http://en.cppreference.com/w/c/types/limits

2.3 POSIX限制和XSI限制
書中列出的都是實現中必須支持的各種最小值,特定系統實際支持的限制值需要通過頭文件或者三個函數函數獲取。
三個函數的name參數是限制名前面加_SC_或者_PC_前綴得到。
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html

2.4 書中代碼
/*
 * If  name  is  invalid, -1 is returned, and errno is set to EINVAL.
 * Otherwise, the value returned is the value of the system resource and errno is not changed.
 * In the case of options, a positive value is returned if a queried option is available, and -1 if it is not.
 * In the case of limits, -1 means that there is no definite limit.
*/

#include 
"apue.h"
#include 
<errno.h>
#include 
<limits.h>

#ifdef OPEN_MAX
static long openmax = OPEN_MAX;
#else
static long openmax = 0;
#endif

/*
 * If OPEN_MAX is indeterminate, we're not
 * guaranteed that this is adequate
 
*/
#define OPEN_MAX_GUESS 256

long
open_max(
void)
{
    
if (openmax == 0) { /* first time through */
        errno 
= 0;
        
if ((openmax = sysconf(_SC_OPEN_MAX)) < 0) {
            
if (errno == 0)
                openmax 
= OPEN_MAX_GUESS; /* it's indeterminate */
            
else
                err_sys(
"sysconf error for _SC_OPEN_MAX";)
        }
    }

    
return(openmax);
}

3, 選項
3.1, 選項確定方式
編譯時選項定義在<unistd.h>中;
與文件或目錄無關的選項用sysconf確定;
與文件或目錄有關的選項用pathconf或者fpathconf確定;
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html

3.2, 選項確定流程
如果符號常量未定義,
對_POSIX前綴的選項,將_POSIX前綴替換為_SC或_PC前綴,
對_XOPEN前綴的選項,在_XOPEN前面加上_SC或_PC前綴,
然后調用sysconf, pathconf或fpathconf函數。
如果符號常量已經定義,則有三種可能:
值為-1,不支持相應的選項;
值大于0,支持相應的選項;
值為0,需調用函數確定選項是否支持。
注:某些系統可能出現定義了符號常量,但沒有定義值的情況。

3.4, 代碼示例
先占坑。

4, 功能測試宏
Feature test macros allow the programmer to control the definitions that are exposed by system header files when a program is compiled.
NOTE:  In  order  to be effective, a feature test macro must be defined before including any header files.  This can be done either in the compilation command (cc -DMACRO=value) or by defining the macro within the source code before including any headers.
see man page feature_test_macros(7).
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美视频一区| 国产伦精品一区二区三区免费 | 午夜视黄欧洲亚洲| 欧美在线观看视频在线| 亚洲一区制服诱惑| 欧美日韩国产小视频在线观看| 在线观看精品视频| 亚洲啪啪91| 国产日韩欧美综合| 欧美1区2区视频| 国产日韩综合| 午夜精品国产精品大乳美女| 国产精品久久久久久久久久久久 | 裸体一区二区| 国产精品三区www17con| 亚洲国产成人午夜在线一区| 国产精品一区二区男女羞羞无遮挡| 欧美成人按摩| 国产精品v欧美精品v日韩| 亚洲一二区在线| 亚洲精品一二区| 黄色成人在线网址| 国外成人在线| 黄色一区二区三区四区| 国产精品中文字幕欧美| 狠狠色狠狠色综合日日91app| 国产一区二区精品| 在线观看成人av电影| 亚洲精品国产精品乱码不99按摩| 99国产精品国产精品毛片| 日韩视频三区| 亚洲午夜激情| 欧美国产精品一区| 亚洲在线网站| 欧美成人福利视频| 国产欧美一区二区三区另类精品| 国产一区在线免费观看| 亚洲精一区二区三区| 欧美肥婆bbw| 国产精品一区视频网站| 久久亚洲影院| 久久国产高清| 亚洲激情一区二区| 西西裸体人体做爰大胆久久久 | 亚洲免费影视第一页| 欧美在线观看视频一区二区三区| 欧美新色视频| 狠色狠色综合久久| 亚洲天堂av在线免费| 欧美电影资源| 欧美一级淫片aaaaaaa视频| 欧美黄色影院| 激情久久久久久久| 久久成人精品无人区| 亚洲毛片一区二区| 久久另类ts人妖一区二区| 欧美视频专区一二在线观看| 亚洲精品久久久蜜桃| 久久全球大尺度高清视频| 亚洲永久在线观看| 国产精品久久久久婷婷| 中文在线不卡视频| 在线一区日本视频| 欧美人成在线| 亚洲一级在线| 亚洲综合欧美日韩| 国产人久久人人人人爽| 久久国产一区| 久久国产精品高清| 国产精品日韩久久久久| 一本色道88久久加勒比精品| 亚洲国产精品成人综合| 欧美bbbxxxxx| 亚洲国产另类久久精品| 欧美电影免费观看| 欧美激情乱人伦| 亚洲最黄网站| 亚洲精品在线观看免费| 欧美色视频日本高清在线观看| 亚洲一区二区在线视频| 亚洲欧美视频在线观看| 精品av久久久久电影| 欧美激情中文不卡| 欧美日韩免费观看中文| 午夜一级在线看亚洲| 欧美一区二区三区另类| 国际精品欧美精品| 欧美国产日韩一区二区| 欧美日韩国产美女| 亚洲一区二区在线播放| 欧美一区不卡| 亚洲日韩欧美一区二区在线| 亚洲免费高清视频| 韩国一区电影| 欧美成人一区二区| 国产精品乱码妇女bbbb| 国产精品天天看| 免费一级欧美片在线观看| 欧美国产免费| 久久av一区二区三区| 欧美一区亚洲一区| 亚洲精品在线免费| 欧美一区二区三区在线| 日韩一区二区高清| 欧美中文字幕久久| 亚洲天堂免费观看| 久久久伊人欧美| 性8sex亚洲区入口| 欧美激情一区二区三区在线视频观看| 亚洲图片欧洲图片av| 久久精品视频亚洲| 亚洲精品中文在线| 欧美在线在线| 亚洲一区二区三区中文字幕在线| 久久乐国产精品| 午夜精品久久久久久久久久久久久 | 美国成人直播| 国产精品播放| 亚洲国产一成人久久精品| 国产日韩欧美一区在线| 亚洲精选国产| 亚洲国产经典视频| 欧美在线亚洲一区| 欧美一区二区视频97| 欧美视频在线观看| 亚洲黄色成人久久久| 国产主播精品在线| 一区二区三区福利| 亚洲国产一二三| 久久国产日韩| 久久精品国内一区二区三区| 国产精品高清免费在线观看| 亚洲韩国青草视频| 欧美a级片网站| 久久人人超碰| 亚洲精品视频在线播放| 久久蜜桃精品| 妖精成人www高清在线观看| 欧美国产成人在线| 亚洲国内自拍| 91久久嫩草影院一区二区| 麻豆国产va免费精品高清在线| 久久久久久自在自线| 国产性猛交xxxx免费看久久| 欧美一区二区三区日韩| 久久影院午夜论| 亚洲二区在线观看| 欧美高清在线视频观看不卡| 亚洲激情av| 亚洲婷婷在线| 国产精品资源| 在线亚洲一区| 欧美在线亚洲| 国产中文一区二区| 老鸭窝毛片一区二区三区| 欧美成人亚洲成人日韩成人| 欧美一区视频在线| 99精品久久久| 老色鬼精品视频在线观看播放| 免费成人黄色片| 亚洲激情精品| 国产精品盗摄一区二区三区| 性欧美1819sex性高清| 欧美不卡一卡二卡免费版| 夜夜爽夜夜爽精品视频| 国产精品美女www爽爽爽视频| 欧美中文字幕在线视频| 亚洲激情女人| 欧美专区18| 亚洲激情视频| 欧美日韩免费一区二区三区| 亚洲欧美在线磁力| 欧美国产高清| 欧美在线一二三四区| 亚洲经典三级| 国产精品日本| 免费在线成人| 亚洲欧美三级伦理| 亚洲激情视频在线播放| 香蕉久久夜色精品国产使用方法| 伊人成综合网伊人222| 久久午夜精品一区二区| 一本大道久久a久久精二百| 久久午夜色播影院免费高清| 亚洲精品美女在线观看| 国产精品豆花视频| 久久亚洲一区二区三区四区| 亚洲图片激情小说| 欧美激情一区二区三区| 久久久久国产精品一区二区| 亚洲激情影视| 国产欧美大片| 欧美日韩国产精品一区二区亚洲| 亚洲一级免费视频| 亚洲精品国产精品久久清纯直播 | 午夜一区二区三区不卡视频| 欧美sm重口味系列视频在线观看| 99国产一区二区三精品乱码| 好吊色欧美一区二区三区视频| 欧美绝品在线观看成人午夜影视|