日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

apue对java_[apue] 一个快速确定新系统上各类限制值的工具

發布時間:2023/12/31 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apue对java_[apue] 一个快速确定新系统上各类限制值的工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于在不同 Unix 系統之間移植程序,最重要的事情就是確定新系統的一些編譯時、運行時固定或不固定的限制值了。例如文件路徑最大長度 PATH_MAX、進程最大可打開文件句柄數 OPEN_MAX、用戶可加入的附加用戶組最大數量 NGROUPS_MAX、進程命令行參數最大字節數 ARG_MAX、內存頁大小 PAGESIZE、線程棧大小默認值 STACKSIZE、臨時文件最大數量 TMP_MAX 等等。甚至有些系統特征也可以通過查詢來提前確定,例如是否支持讀寫鎖、是否支持異步 IO、是否支持實時信號等等,這樣程序就可以根據系統提供的能力來選擇不同的接口去實現同樣的功能。

回頭來看 apue 第二章有關系統限制與選項這一塊的內容,由于摻雜了 UNIX 標準化的內容,顯得很沒有條理,例如將各種限制按標準劃分為:

ISO C

編譯時限制 (頭文件常量)

POSIX

不變的最小值 (聲明遵循 POSIX 的系統必需支持到至少這么多,不能再小了)

不變值 (SSIZE_MAX)

運行時可增加的值

運行時不變的值

路徑名可變值

XSI

不變的最小值 (同上)

數值限制

運行時不變值

看得人一頭霧水,其實如果拋開標準,單按限制的性質來分,就比較簡單啦:

編譯時限制 (通過頭文件常量)

運行時限制

不與文件系統相關部分(通過 sysconf)

與文件系統相關部分(通過 pathconf)

也就是說,要確定一個系統限制,一共分兩步:

確定相應的符號常量有沒有在頭文件定義,如果有,直接拿來用;

如果沒有,走 sysconf 或 pathconf 查詢。

對于系統選項,稍等復雜一點,分三步:

符號常量定義為 -1,平臺不支持該選項;

符號常量定義大于 0,平臺支持相應的選項;

符號常量定義為 0,需要進一步依靠 sysconf 或 pathconf 來查詢。

到這里,你大概已經想到怎么自己制作一個工具了,那就是按上面的邏輯 coding 唄,可以把想要查的常量作為輸入,查到的結果打印到控制臺,為方便工具靈活的處理各種不同輸入,常量可以作為命令行參數輸入,就像下面這樣:

未完待續……

總結

以上是生活随笔為你收集整理的apue对java_[apue] 一个快速确定新系统上各类限制值的工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。