No.1ベストアンサー
- 回答日時:
-lS:16進でサイズ指定
例
bcc32 -lS:400000 main.c
この回答への補足
ありがとうございます
コンパイルリンクは正常に終わり実行してみると
「このプログラムは不正な処理を行ったので強制的に終了します。」
というウォーニングボックスがでます
何が原因ででしょうか?
具体的には
ファイル「win」にメモ帳で
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
-L"c:\Borland\Bcc55\lib\Psdk"
-lS:400000
-W
-WM
-VM
を書きこみmain.cpp,main.h,main.rcを作成し
bcc32 +win c:\main shlwapi.lib
brc32 c:\main
c:\main.exe
を順に実行しています
ちなみに
-lS:200000
でもやってみました
No.4
- 回答日時:
CreateWindowがうまくいってないのでは?
hWmainがNULLになってないか一度チェックしてみてはどうでしょう?
この回答への補足
ありがとうございます
クリエイト部分も書くと
hWmain=CreateWindow
(検査結果.exe,"検査結果",WS_OVERLAPPEDWINDOW,0,0,i*3/10,j/4,NULL,NULL,hInst,NULL);
SetWindowText(hWmain,"before");//ここまではOK
ShowWindow(hWmain,SW_SHOWMAXIMIZED);
SetWindowText(hWmain,"after");//これも含めここから先はエラーのため実行されず
UpdateWindow(hWmain);
while(GetMessage(&ms,NULL,NULL,NULL))
{
TranslateMessage(&ms);
DispatchMessage(&ms);
}
return (ms.wParam);
タイトルにbeforeがでますからhWmainは正常のはずです
if(hWmain==NULL)
SetWindowText(hWmain,"out");
else
SetWindowText(hWmain,"ok");
でも最初の部分に配置してやってみましたがokが表示されました
No.3
- 回答日時:
>このオプションを設定するとエラーがでて設定しないとエラーがでないのですが設定の仕方が悪いという事はないのでしょうか?
-Nオプションで、スタックオーバーフローのメッセージが表示されるというなら、スタックが足りません。
「不正な処理」のメッセージがでるなら、
やはり、このオプションに関係なく
ポインタ関係の不正使用だと思います。
ポインタの不正使用でのメッセージの表示タイミングは、いつ出るか一概に言えません。
少なくともこのオプションの設定のせいではありません。
プログラムを拝見することはできますか?
この回答への補足
ありがとうございます
プログラムは長すぎるので補足することができません
そこでどこでエラーが発生しているかを調べてみました
WinMainの
hWmain=CreateWindow(
・・・・
//ここまではOK
ShowWindow(hWmain,SW_SHOWMAXIMIZED);
//ここから先はエラーのため実行されず
UpdateWindow(hWmain);
while(GetMessage(&ms,NULL,NULL,NULL))
{
TranslateMessage(&ms);
DispatchMessage(&ms);
}
return (ms.wParam);
ShowWindow(hWmain,SW_SHOWMAXIMIZED);
でエラーになっているようです
No.2
- 回答日時:
「このプログラムは不正な処理を行ったので強制的に終了します。
」どんなプログラムか見てないので一概には言えませんが、
ほとんどポインタの不正使用だと思います。
スタックがオバーフローしているかどうかは、
コンパイルオプション
-N
でチェックさせることができます。
プログラムを実行中にスタックがオーバーフローした場合、そのことを報告するメッセージが表示されます。
この回答への補足
ありがとうございます
このオプションを設定するとエラーがでて設定しないとエラーがでないのですが設定の仕方が悪いという事はないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CPU・メモリ・マザーボード Windows10 64bitパソコンのメモリ 4GBから8GBへ増設 11 2023/01/25 18:20
- Windows 10 ウィンドウズ11でスリープの設定は? 1 2022/05/26 02:41
- ノートパソコン パソコンの買い換え アドバイスください。初心者です。 ・長く使いたいため 新品 Windows11ノ 4 2022/04/05 23:12
- Android(アンドロイド) galaxy s8+にUSBメモリ(type-c)を接続し、動画再生すると熱くなるのですが… USB 5 2022/06/24 17:21
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- CPU・メモリ・マザーボード ノートパソコンの増設メモリ選びについて教えてください。 3 2023/01/05 12:58
- iOS システムの復元の実行 3 2023/08/28 22:26
- Excel(エクセル) エクセルのグラフで 1 2023/08/02 17:48
- 中古パソコン デバイスマネージャ上のどこでメモリDDR4を確認できるか 5 2022/06/20 12:23
- フリーソフト 個人的なPCでの操作ログは取れないでしょうか? 1 2022/11/04 19:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スタックフレームの消滅
-
GCCで関数の引数が渡らない
-
VC6でコンパイルでスタックの領...
-
最大スタックサイズを大きくす...
-
エラー?メッセージ
-
VB.netでDLLを読み込んで実行す...
-
Ethernetヘッダの取得 NDIS
-
ubuntuで デイスク/deb/loopと...
-
プログラムの規模を表す単位「k...
-
パソコンでインターネット接続...
-
ステップ数について
-
ステップ数??
-
ライン数とステップ数の違いに...
-
hdmiはパラレル?シリアル?
-
Macと iPadの違いについて 今現...
-
iPadを外部キーボード接続して...
-
ネットワークアイコンが黄色三...
-
サブネットマスクが255.255.255...
-
ルータの負荷対策でL2スイッチ...
-
SP領域とはなんですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.netでDLLを読み込んで実行す...
-
最大スタックサイズを大きくす...
-
printf / sprintf のスタック消...
-
エラー?メッセージ
-
_CRTIMPの意味は?
-
スタック領域変更
-
gccでスタックサイズを変更する...
-
スタックを用いて整数配列を入...
-
スタックの伸張方向
-
H8マイコン スタック領域に...
-
関数のプロローグとエピローグ...
-
マクロ実行時の「スタックの不...
-
CASLとCASL2の違いについて
-
Cプログラミングの関数電卓のア...
-
Ethernetヘッダの取得 NDIS
-
C言語・スタックを使用した逆...
-
再帰処理を非再帰処理に書き換...
-
スタックとキューについて
-
pthreadのスタックサイズ設定取...
-
無償Borland5.51でスタックメモ...
おすすめ情報