7

defclassCommon Lisp でオブジェクトのバイト数を調べるにはどうすればよいですか?

4

2 に答える 2

3

移植可能な Common Lisp ではそれができません。

function が便利かもしれませんROOMROOMメモリ統計を表示し、引数を指定Tすると詳細に表示されます。そのため、いくつかのインスタンス作成の前後で違いが見られる場合があります。実装には特定の機能がある場合がありますが、マニュアルまたはサポート メーリング リストで確認する必要があります。

于 2010-09-13T17:54:57.187 に答える
3

Rainer の回答に加えて、CLISP の回答は次のとおりです。EXT:TIMES

(defclass c () ((x) (y) (z)))
(ext:times (make-instance 'c))
                                   Permanent            Temporary
Class                         instances   bytes    instances   bytes
-----                         --------- ---------  --------- ---------
C                                     1        48          0         0
-----                         --------- ---------  --------- ---------
Total                                 1        48          0         0
Real time: 1.4E-5 sec.
Run time: 0.0 sec.
Space: 48 Bytes
#<C #x000333CF2AA0>

注意:defclassプロンプトで評価すると、コンパイルされないためtimesc.

于 2013-01-01T19:23:34.323 に答える