Dllのコンパイルが出来なくなってしまいました


TEN  2005-11-30 23:32:28  No: 128438

開発中のPGが一段落ついたのでコンパイルを行ったところ
Dllファイルの作成ができなくなってしまいました。
強制終了したところC2.EXEというプログラムが実行されている状態でした。
デバッグでは動くのですが原因がわかりません。
VB5を使用しています。
何かわかる方がいたらよろしくお願いします


魔界の仮面弁士  2005-12-01 00:05:41  No: 128439

C2.EXE は、バックエンドのコンパイラですね。

単に、コンパイルに時間が掛かっているだけ……という事はありませんか?
さしあたり、以下の事を試してみては如何でしょう。

(1) 数時間放置して様子を見る。(汗)
(2) コンパイル前に、VB内のコードウィンドウなどを、すべて閉じておく。
(3) ネイティブコードではなく、P-Code コンパイルを試してみる。
(4) PCを再起動した直後にコンパイルを試してみる。
(5) 他のコンピュータで開発してみる。


TEN  2005-12-01 01:34:05  No: 128440

ご返事、ありがとうございます。

>(1) 数時間放置して様子を見る。(汗)
>(2) コンパイル前に、VB内のコードウィンドウなどを、すべて閉じておく。
>(4) PCを再起動した直後にコンパイルを試してみる。
(2)(4)の条件で、10分ほど待ってみましたがダメでした。
今回の前の段階でコンパイル時に、1分かかっていなかったので無理そうかなぁと。

>(5) 他のコンピュータで開発してみる。
VB5の環境が今すぐ用意できないので後回しに・・・。

>(3) ネイティブコードではなく、P-Code コンパイルを試してみる。
無事コンパイルできました。1〜2秒で終わったのには驚きました・・・

ただ、コンパイルで上記の種類があるというのを知らなかったので
(HELPやいくつか調べたところ、差はだいたいわかったのですが)
従来がネイティブで作られていたものを、
今回からPコードに方法を変更して問題ないのかが悩んでいます。
他の関連するEXEやDllはすべてネイティブでした。

また、魔界の仮面弁士さんの案を試す前に、質問後にも色々捜し続けたところ
似たようなケースがありその解決方法を試してみました。
その方法は、
  コンパイルでハングしているファイルが大きすぎて、
  リソース不足になっているのでファイルを分割してコンパイルする
でした。
この方法で試したところ、ネイティブモードのままでもコンパイルできました。
ただ既存のソースに手を加える部分が多くなってしまうので、
モードの変更で解決したいと思っています。

すみませんが、どちらの案がリスクが低いか等アドバイスを頂けませんか?


我龍院忠太  2005-12-01 02:33:02  No: 128441

10分は少し我慢が足りないのでは、ハードディスクのアクセスランプを見て、
時々動いていたらそのままほっといて、最低でも1時間位は待つとか。

ネイティブとスピードを比較して変わらないかもしくは、少し遅くても問題ないのなら、
P-Codeコンパイルでいいんでは。
ちなみに開発環境のマシンースペックなんかを書いてみると、何かいいヒントが出るかも。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加