■
蒼城さん(http://d.hatena.ne.jp/blauburg/20050516)
基本的にプログラミング素人な自分のこと、 そもそもP-Codeって何だろうって疑問があったので検索してみたところ、 このようなページを発見。 http://homepage3.nifty.com/salv/qsal/v_sickhack/01/v_s01-05.htm ネイティブコードコンパイルってのはプログラムをマシン語に変換して 処理向上を狙うものの、実用レベルでは体感できる程の差はなく、 むしろ開発環境での実行と動作が異なるというデメリットがあるようで。 再現しないバグってのがそこら辺に依存するのかなぁ、とか。 とまぁ、原理はよく解りませんが、SRCに対してはP-Codeコンパイルの方が どうやら有効らしいと。 ちなみに、上に挙げたURLのコラムNo1から順に読むと解る人には解る、 んでしょうか。私には今ひとつ何がなにやらですが。
なんか見たことがある語り口調だと思ったら、さるべーじさんの解説か。おかしいな、ここ読んだはずなのに内容をサッパリ覚えてない(笑)
まあ大雑把に言えば、
- VBにおいてネイティブコード・コンパイルで機械語に変換されるのは、演算子のみを使った計算と一部APIのみ
- GUIのほとんどの機能(フォームにぺちぺち貼り付けていくアイテム)はVBのランタイムにより提供されており、それらは当然、ランタイムの中で処理されるのでネイティブとか関係ない
- APIも同じ。DLLの中で処理される
- イベントの実行順が、開発環境で実行する順番と食い違うことがある。
- つまりGUIのアプリでは、ネイティブコードにする意味が薄い
ってとこでしょうか。多分。
で、SRCは当然、GUIのアプリだからこれに当てはまる、と。
SP2でCreateがやたら重くなったりしたのは、イベントの実行順が変わって、本来の意図通りの順番に処理したならスキップできた処理を無駄に走らせたからかなぁ、とか。でもSP2だけなんだよなぁ。