PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
13112 00/09/06 02:18:51 RE(8):PBでの外部関数によるポインタの使用 By ryochan
13111 00/09/05 18:34:36 PBでの外部関数によるポインタの使用(総括のコメント) By M.M
13107 00/09/05 17:45:23 RE(6):PBでの外部関数によるポインタの使用(7):API引数 By ryochan
13106 00/09/05 17:34:59 RE(5):PBでの外部関数によるポインタの使用(6):ref宣言 By ryochan
13105 00/09/05 17:33:57 RE(4):PBでの外部関数によるポインタの使用(5):string By ryochan
13104 00/09/05 17:33:11 RE(3):PBでの外部関数によるポインタの使用(4):string By ryochan
13103 00/09/05 17:31:00 RE(2):PBでの外部関数によるポインタの使用(3):構造体2 By ryochan
13102 00/09/05 17:30:14 RE(1):PBでの外部関数によるポインタの使用(2):構造体 By ryochan
13101 00/09/05 17:28:56 PBでの外部関数によるポインタの使用(1):ポインタの説明 By ryochan

カテゴリ:スクリプトの記述
日付:2000年09月05日 17:30 発信者:ryochan
題名:RE(1):PBでの外部関数によるポインタの使用(2):構造体

***PBの外部関数において、構造体を渡す場合の参照渡しが必須な訳***
実は値渡しだとデータの転送サイズの制限があるのです。
データの転送については外部に対しては64Kまでです。
(私が勉強したころまでは...でも今でもあると思います。)
したがってこれを越えるデータ量については
必然的にポインタを使用しなければなりません。
でも無理にそのようなことをしなくても、
ポインタの利点として、アドレス情報のみを
渡した方が軽く処理が速いです。当たり前ですよね。
これは構造体以外のデータ例えば文字列
についても当てはまります。
という理由よりPBは敢えて禁止させているのでしょう。
では、PB内部の関数string等で何故64K以上のデータが転送できるのか?
これは予想ですが、PB独自のメモリマネージャ
をもっているからだと思います。
PB内部でも参照渡しの方が速いかもしれません。
劇的までとは思いませんが。
(3)に続きます

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.