ページへ戻る

− Links

 印刷 

GUIGUI01​/memo26 のバックアップ差分(No.6) :: OSASK計画

osaskwiki:GUIGUI01/memo26 のバックアップ差分(No.6)

« Prev[4]  Next »[5]
5: 2009-01-13 (火) 20:11:00 ソース[6] 6: 2009-11-17 (火) 12:08:44 ソース[7]
Line 26: Line 26:
     (ex0015.cと同じ内容)      (ex0015.cと同じ内容)
 }  }
--これをmakeすると139バイトになります。でも動作はex0016と完全に同じです。+-これをmakeすると128バイトになります。でも動作はex0016と完全に同じです。
---- ----
-じゃあもう一つ小さくする技を。ex0017では引数が「s:str」と「n:#」でしたが、これを「str:string」と「num:number」にしたいとしましょう。まあどうせ順序を覚えていれば「str:」や「num:」とタイプする必要はないですしね。それなら分かりやすいほうがいい、と考える人もいるでしょう。 -じゃあもう一つ小さくする技を。ex0017では引数が「s:str」と「n:#」でしたが、これを「str:string」と「num:number」にしたいとしましょう。まあどうせ順序を覚えていれば「str:」や「num:」とタイプする必要はないですしね。それなら分かりやすいほうがいい、と考える人もいるでしょう。
Line 37: Line 37:
     0x86, 0x50,      0x86, 0x50,
     0x02, 's', 't', 'r', 0x34, 0x01, 'i', 'n', 'g',      0x02, 's', 't', 'r', 0x34, 0x01, 'i', 'n', 'g',
-     0x12, 'n', 'u', 'm', 0x11, 0x01, 'b', 'e', 'r',+     0x12, 'n', 'u', 'm', 0x14, 0x01, 'b', 'e', 'r',
     0x40      0x40
 };  };
Line 46: Line 46:
 }  }
-ここでまたサイズを節約するテクニックを使いました。というのは引数説明のところで、0x01というのを使っているからです。これはusage表示するときに引数名に置換されます。これを使うことで 0x3c や 0x1c を使わずに済んでいますし、そもそも置換することでそれぞれ2バイト節約しています。 -ここでまたサイズを節約するテクニックを使いました。というのは引数説明のところで、0x01というのを使っているからです。これはusage表示するときに引数名に置換されます。これを使うことで 0x3c や 0x1c を使わずに済んでいますし、そもそも置換することでそれぞれ2バイト節約しています。
--makeすると147バイトになります。一応usage表示を見て確認しておきましょう。+-makeすると136バイトになります。一応usage表示を見て確認しておきましょう。
 >efg01 ex0018.g01  >efg01 ex0018.g01
 usage>ex0018.g01 [str:]string [[num:]number]  usage>ex0018.g01 [str:]string [[num:]number]
Line 58: Line 58:
     0x02, 's', 't', 'r', 0x34, 0x01, 'i', 'n', 'g',      0x02, 's', 't', 'r', 0x34, 0x01, 'i', 'n', 'g',
     0x87,      0x87,
-     0x12, 'n', 'u', 'm', 0x11, 0x01, 'b', 'e', 'r',+     0x12, 'n', 'u', 'm', 0x14, 0x01, 'b', 'e', 'r',
     0x40      0x40
 };  };
Line 66: Line 66:
     (ex0015.cと同じ内容)      (ex0015.cと同じ内容)
 }  }
--これをmakeすると148バイトになりますが、注目ポイントは 0x87, です。これがあると、usage表示のときにここで改行します。それ以外の効果はありません。この改造をしてももちろん「num:」は引数番号1のままです(2になったりはしない)。+-これをmakeすると137バイトになりますが、注目ポイントは 0x87, です。これがあると、usage表示のときにここで改行します。それ以外の効果はありません。この改造をしてももちろん「num:」は引数番号1のままです(2になったりはしない)。
-これをusage表示させるとこうなります。 -これをusage表示させるとこうなります。
 >efg01 ex0019.g01  >efg01 ex0019.g01
Line 111: Line 111:
     return;      return;
 }  }
--これをmakeすると265バイトになります。そしてusageを出してみると、こうなります。+-これをmakeすると249バイトになります。そしてusageを出してみると、こうなります。
 >efg01 ex0020.g01  >efg01 ex0020.g01
 usage>ex0020.g01 [down] [n:]#  usage>ex0020.g01 [down] [n:]#
Line 127: Line 127:
* こめんと欄 * こめんと欄
- このシリーズは好評のようです。実際にアプリを作って遊んでくれる人も出てきました。 -- [[K]] &new{2009-01-13 (火) 11:07:16}; - このシリーズは好評のようです。実際にアプリを作って遊んでくれる人も出てきました。 -- [[K]] &new{2009-01-13 (火) 11:07:16};
 +- abcdw014向けの記述に修正。 -- ''K'' &new{2009-01-16 (金) 22:12:08};
#comment #comment
« Prev[4]  Next »[5]