このメールは、OSASK-ML投稿フォームから書き込まれた内容です。 お名前: I.Tak. [OSASK 6685]に返信です。 > そうかなあ。>ディスクよりも時間 osaskgoに限って言えば、1MBを >超えるサイズは時間以上に問題だろうと思うのですが・・・。 大きすぎるのは確かに問題ですけど、同じ五日間かけるなら、 数パーセントしか縮まないよりは数倍速くなる方がよいと思う のです。機能(?)密度もぐっと上がりますよね? > もし時間がかかって困るということなら、最後のリリース時以外には >いつも、bim2binのオプションに「maxdis:1k」とでも書いておいてくだ >さい(orgを作るときも、binを作るときも)。見違えるほど速くなりま >す。 なるほど。圧縮率を下げるという方法がありましたか。実践的 だなあ。……でもせこい気が(^^; > そもそも、CやC++のstatic変数は初期値を指定しなければ初期値は全 >て0とするのが仕様で、その意味ではCでbss領域が生成されることは普 >通ありません(GCCとかは、参照される前に書かれるかどうかを慎重に >チェックして、大丈夫と分かったものだけにbss属性をあたえていた、 >はず・・・ということで、多くのケースではうまく判定できず、dataセ >クションになります)。 私の記憶が確かなら、staticでなくてかつ初期値のないグロー バル変数はbss領域に入ります。すると……mallocしなくても グローバル変数を使えばいいじゃねえか、ということになるわけ です、私の発想では(大規模なツールで乱用すると危険ですが)。 そうするとmallocの処理が無くなったり引数が減ったりして うれしいかなあ。微妙ですか。でもこれだと引数が全て定数に なるのでlib_execcmd()が使いやすいんですよ。 ページの利用効率ですが、mallocだと使う順番に上位から確保 していきますよね。が、グローバル変数なら小さいのをまとめて 配置できるので、余るページも減るというものです (大きめに 確保している場合は、ですが)。あるいは、頻繁にアクセスする 領域をまとめたら……。ケチすぎるか。