Sys-info

提供:GizmoLabs - だいたい CAD LISP なサイト
2011年7月11日 (月) 17:56時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(sys-info [int-idx])


機能
int-idx で指定したシステム情報を返す。


引数
  • int-idx : 0~9 の整数


戻り値
int-idx により以下のとおり。
int-idx 無しで呼ばれた sys-info は、全てのリストを返す。


オフセット 概要
0  LISP セル数
1  LISP セルの最大数
2  シンボルの数
3  評価/再帰レベル
4  環境スタックレベル
5  最大の呼び出しスタック数
6  親プロセスか 0 のPID
7  実行している newLISP プロセスの PID
8  整定数としてのバージョン番号
9  オペレーティングシステム定数:
   linux=1, bsd=2, osx=3, solaris=4, cygwin=5, win32=6, os/2=7, tru64unix=9
   bit 10 … IPv6 バージョン (add 512)
   bit 9 …  64-bit バージョン (add 256)
   bit 8 … UTF-8 バージョン (add 128)
   bit 7 … added for ライブラリ・バージョン (add 64)


将来の新エントリは、オフセット 5 の後に挿入されるらしいので、"最大の呼び出しスタック数" まではオフセット 0 ~ 5 を使い、残りの四つのエントリのアクセスには、負数のオプセット -1 ~ -4 を使うことが推奨されている。 この方法なら、古いソースコードでも変更の必要はない。


例.

(sys-info) → (410 268435456 380 1 0 2048 0 5020 10300 134)
(sys-info 3) → 1
(sys-info -2) → 10300


Lispセルの最大数は、コマンド・ラインのスイッチ -m で変更される。 Lisp セル・メモリ 1メガ・バイト当たり 64k メモリ・セルが割り当てられる。 最大コール・スタック深さは、コマンド・ラインのスイッチ -s を使って、変更される。