• 締切済み

すぐ下の質問の補足です(DOS窓のエラー)

お世話になります.補足の追加が出来ないので,別途の質問の形をとりましたが,継続したものです。いろいろやってみているのですが,やはりエラーの出現がランダムです。同じexeファイルでも,起動直後にエラーが出て2度目に出なかったり,その逆だったり,訳が分からなくなりました。 新しく気づいたことなのですが,出来たexeファイルのサイズが64KBジャストでした。丁度この大きさと言うのが,何か気にかかります。exeファイルは,DOS窓からCLコマンドで作っています。この方法でやると,ひょっとして64KBの限界があるのかとも思ったりします。そこで,改めてVCのウィンドウからビルドメニュで作ってみました。サイズは213KBに膨れ上がっていましたが,この状態では今のところエラーは出ていません。しかし,実行時間は3割くらい体感的に遅くなりました。 やはり,DOS窓からのCLコマンドでの作成が問題だったのでしょうか?

みんなの回答

  • ojopu
  • ベストアンサー率0% (0/0)
回答No.2

CLコマンドによるコンパイルですとsmallモデルに成るのではないでしょうか? 扱えるメモリ量が圧倒的に少ないので色々問題が起きるかと思います。 尤もメモリ確保が出来ないとコンパイルも完了しないと思いますが....

6Bay
質問者

補足

ojopuさんARCさん,アドバイス有難う御座いました。 最終的な御報告と御礼になると思うのですが,次のように決着をつけました。 MSのサポートにも問い合わせた上で,DOS窓でCLコマンドでの開発が不適当との結論に,強引にしてしまいました。MSのサポートもアプリ画面でリビルドを推奨しますとのこと(裏ではCLコマンドが動作しているのだが,環境に合わせた最適化とかが自動的に成されるためとか),かつサポート担当者も,理由は不明ですが,CLコマンドを実行したDOS窓で結果のファイルを動作させるとエラーが出た,とのことでした。 と言うことで,リビルドで作成したコンソールアプリで,何通りかのパラメータで実行させていますが,今のところエラーは出ていません。 エラーが出ているときも,他のあらゆるOS,マシンで動作させると正常に実行し,その数値結果も全く同一でしたので,状況証拠でしかないのですが,ソースには問題無い,との結論をつけて,リビルドでexeを生成することにしました。 その際,ARCさんのご指摘を頂き,最終的にはReleaseモードにしました。サイズも小さいし,実行も高速です。ちなみに,PII450MHzで約一時間,PIII866MHzで約30分くらいでした。 どうも有り難う御座いました。また宜しくお願いいたします。そして,自分も何か役に立つことがあればと,心掛けます。

すると、全ての回答が全文表示されます。
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

ひょっとしたら、デバッグモードでビルドしてしまっているとか…

すると、全ての回答が全文表示されます。

関連するQ&A

  • DOS窓で・・・

    Win95または98のDOS窓で コマンドの標準出力と標準エラー出力を テキストファイルにリダイレクトしたいのですが どのようにすればよいのでしょう? できれば標準の機能でサポートされていると良いのですが フリーソフトとかでできるのをご存知であれば ご教授頂ければ幸いです。

  • DOS窓の非表示について

    常駐で動くC++のプログラムがいくつかあり、 それらの初回起動はBATファイルで『start aaaa.exe』のように 起動をかけています。 C++のプログラムはDOS窓が表示されるようになっていて プログラムが動くたびにパソコンの画面上で複数のDOS窓が チカチカッとなってしまい、とてもわずらわしく、 出来ればDOS窓を非表示にしたいのですが、何か方法はありませんでしょうか?

  • DOS窓の数値計算でエラーが出たり出なかったりします

    Windows98でVC6を使って,DOS窓のみで実行する数値計算(シミュレーション)のプログラムをデバッグ中です.「不正な処理.....」のエラーに対して,同じexeファイルを別のパソコン(windows98機)2台で実行させたところ,2台ともエラーが出ませんでした.ソースをUNIX機およびNT機に持って行ってコンパイル実行してもエラーが出ませんでした. こんな現象がなぜ生じるのか理解に苦しんでいます.CPUはPentiumII450MHz,メモリは128MBです. しかも, ・デバッグ用にprintf文を随所に入れると,正常動作しますし, ・逆に始めからある進行モニタ用のprintf文をコメントアウトしただけでも正常動作します。 ヒントとか,以前に似たような経験をされた方がいましたら,何でもお教えくだされば幸いです。

  • WindowsXP版DOSエラーについて

    WindowsXPのDOS窓を出して、pingを実行したところエラーが発生してしまいました。使用不可能になった前後の作業を考えなおしましたが、これと思われる内容がありませんでした。 どうしたらいいものか解らず困っています。 どうかよろしくお願いします。 エラー内容:「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」

  • 標準出力をDOS窓を開かずにファイルに書き込む方法

    VC++(Console Appli)です。 あるコマンドの標準出力結果をファイルに吐き出す方法として、 単純には、 system("cmnd > C:\\temp.txt"); とやれば実現できますが、このとき、一瞬ですが、DOS窓の黒枠が表示されます。 このDOS窓を出さないで済む方法があれば教えてください。 標準出力を何らかの方法で受け取って、 ------------------------------------------------- CString str; CStdioFile file;   :  cmndの標準出力結果をstrへ内部的に受け取らせる。   : file.Open(_T("c:\\temp.txt"), CFile::modeWrite); file.WriteString(str); file.Close(); ------------------------------------------------- などで簡単に出来れば良いのですが・・よろしくお願いします。

  • バッチファイルのDOS窓について

    こんにちは Windows7Ulti32ビットを使用しています セキュリティホール云々とはいわれていますが、やはりガジェットは使い心地がよく 継続して使用したいと思っています ただ、数回に1回しかガジェットの表示がされず、他の時にはガジェットが表示されません。 sidebar.exeをkillして、再度sidebar.exeを起動すると復活するのですが、毎回やるのは 面倒なのでバッチでkillして再起動しようと思いました ところがそのバッチのdos窓が閉じずに、、今度はそちらで悩んでいます 以下に記載するバッチファイルを実行後、DOS窓を閉じるには どのようにバッチファイルを作成すればいいのでしょうか? SideBarCtrl.bat @echo off taskkill /im sidebar.exe /f > nul start "" timeout 2 > nul start /min cmd /c,"C:\Windows\winsxs\x86_microsoft-windows-sidebar_31bf3856ad364e35_6.1.7601.17514_none_d0e415a884ea33e1\sidebar.exe" exit

  • DOS窓を開けずに、BATファイルからExcelを起動させたい。

    BATファイルからExcelを起動させる際、特に悪影響は無いのですが、 DOS窓(cmd.exe)を開けることなく起動させることはできないでしょうか? よろしくお願いいたします。

  • DOS窓からのプロセス終了

    このカテゴリーではないかもしれませんが、OSの違いが有る可能性があるためここで質問させていただきます。 いま、業務でOracleのアプリを作成しているのですがバグの対応方法で、コマンドにてプロセスの終了をしなくてはいけないのですが、NTでのプロセスの終了の仕方がよく解りません。 (要は、DOS窓からプロセスの終了ができれば良いのです。c;\> コマンド名 ○○○.EXE のこのコマンド名が知りたいのです) ここに来る前に、自分なりに調べたのですが・・・という感じで ぜひともご存知の方、ご教授お願い致します。

  • 管理者権限でDOS窓を使うには?

    管理者権限でDOS窓を使うには、どのようにすればいいですか? 現在、3つのハードディスクに別々にOSをインストールしています。 別OSを起動するとVistaの時計が狂ってしまいます。 そこで、これを実行したいのですが  http://blog.so-net.ne.jp/sothis/2006-05-08-1 DOS窓を起動すると「 C:\Users\k> 」( k は私 )と表示されます。 この状態でDOS窓にコマンドを記入して実行するとエラーになります。 実行したいコマンドはこれ net time /setsntp:time.windows.com Vista起動時に自動的に時刻合わせをするコマンドです。 やはり管理者権限でないとダメなようですが、 どのようにすれば管理者権限で実行できるのでしょうか? つまり「 C:\Users\k> 」ではなく、「 C:\> 」で使いたいのです。 管理者権限でログインしなければならないのでしょうか? その場合、どうすれば管理者権限でログインできますか? ちなみにVistaをインストールしたのは私です。 「 k 」 ( 私 )以外のユーザー設定はしていません。 「 k 」以外でログインしたこともありません。

  • ShellExecuteでDOSコマンド実行したら...

    VC++6.0においてShellExecuteでDOS窓をたち上げてコマンドを 実行したいのですが、うまくいきません。 1.ShellExecute(m_hWnd,"open","command.com","dir",NULL,SW_SHOW); ...とすると”指定された COMMAND 検索ディレクトリが違います.”となり、 なにも実行されません。 2.ShellExecute(m_hWnd,"open","command.com","dir /?",NULL,SW_SHOW); ...とするとちゃんとdirのヘルプが表示されますが、すぐに窓が閉じます。 3.ShellExecute(m_hWnd,"open","command.com","dir /? > out.txt",NULL,SW_SHOW); ...としてもファイルが作られず、2.と全く同じ結果になってしまいます。 これはどうしてこのような現象が起きるのでしょうか? DOSプロンプトをたち上げて同様なコマンドを実行した場合はちゃんと期待通りの結果が得られます。 あと、DOS窓が閉じないようにするにはどうすればいいのでしょうか?

このQ&Aのポイント
  • ダウンロードされたCABファイルが破損しているらしく、アップデートができないようです。
  • ご利用の製品はZEROウイルスセキュリティで、パソコンのOSはWindows10です。
  • 回答をいただけると助かります!
回答を見る

専門家に質問してみよう