visual studio C++で10000行(main:5000行、Subroutine:5000行)ほどのソースをデバッグしたところ、予約済みアドレススペースが不足しています。とエラー表示されました。恐れ入りますが、何か解消方法がありましたらお教えください。、
エラーが出たなら、エラーメッセージを提示しましょう
エラーメッセージは、いらぬ翻訳省略しないで、出たそのママをコピペで提示してください
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
y_waiwai様、度々のアドバイス有難うございます。visual studioをログオフし、もう一度立ち上げて「デバッグ開始」、準備完了(5分ほど待つ)となったら、「続行」ボタンを押しましたところ、何故か「アドレススペースが不足」のエラー表示は出なく、下記のpに関する警告のみ表示されます。613行目はfscanf()です。但し、読込みは問題なく終了していますので、ここは気にしなくても良いかと思います。しかしながら「デバッグ無しで開始」を実行しますと、計算開始と同時にstopしてしまいます。ちなみに、このソースをMinGW-w64でコンパイル・実行したところ、問題なく計算終了しました。
仕方無いので、ソースの途中にexit (0) を置きながら、「デバッグ無しで開始」を繰り返し、どこで不具合になるか調べます。
「警告 C6387 'fp' は '0' である可能性があります: この動作は、関数 'fscanf' の指定に従っていません。 Puffer GCB Kaikyoku Tokusei C:\Users\h_mizoguchi\source\repos\Puffer GCB Kaikyoku Tokusei\Puffer GCB Kaikyoku Tokusei\3btCom-v3f-R2.cpp 613 」
y_waiwai様、アドレススペースが不足しています、と表示された原因が分かったような気になりました。”X1,X2,X3について初期条件を設定していない”とエラーメッセージがありましたので、下記のように設定しました(forの中)。
```C++
int main() {
---- //---ステートメント
for(i=0; i<I1; i++) {
static int K1=0;
if(K1 != 1) {
X1=0;
X2=0;
X3=0;
K1=1;
}
sub_test1(X1,X2,&X3);
// test1のプロトタイプ宣言とサブルーチンあり。
----
}
}
```
このようにすると、ポインター変数のX3の初期値は0で持続しますが、普通変数のX1,X2は、2回目に回ってきたときとんでもない数値(10^308などゴミ)になってしまいますよね。変数が数百あり、それで、アドレススペース不足と表示された、と想像しますが、如何でしょうか、全ての変数をポインター化するとか、対策を小さいモデルプログラムで実施してみます。
> 予約済みアドレススペースが不足しています
32bit版のWindowsを使っていますか?
回答1件
あなたの回答
tips
プレビュー