teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

構造体配列のメモリ領域の動的確保

2020/02/26 03:28

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,17 @@
1
1
  gcc -O2 オプションで動作するので気にしないことにしました。ありがとうございました。
2
2
 
3
- 1763行目のxgcd関数に入る瞬間にコアダンプします。関数の内部にexit関数を記述して、計算内容を表示させることはできるのですが、exitを外すと再び関数に入ると同時にコアダンプします。なぜだかわかりません。exitを入れないと、xgcdの計算内容の表示をする前にコアダンプします。
3
+ 1763行目のxgcd関数に入る瞬間にコアダンプします。関数の内部にexit関数を記述して、計算内容を表示させることはできるのですが、exitを外すと再び関数に入ると同時にコアダンプします。なぜだかわかりません。exitを入れないと、xgcdの計算内容の表示をする前にコアダンプします。
4
+
5
+ 追記:どうやら構造体の配列のメモリが確保できなかったらしく、v[K*2]={0};から
6
+ mallocでメモリを確保したあとに、memsetで初期化したら動くようになりました。
7
+ デバッグは難しいですね。
8
+
9
+ OP h={0},ww={0},*v,*u;
10
+ oterm a,b;
11
+ int i=0,j,k;
12
+ EX e={0};
13
+
14
+ v=malloc(sizeof(OP)*K*2);
15
+ u=malloc(sizeof(OP)*K*2);
16
+ memset( v, 0, sizeof(v) );
17
+ memset( u, 0, sizeof(u) );

1

コメントの追加

2020/02/26 03:28

投稿

退会済みユーザー
answer CHANGED
@@ -1,1 +1,3 @@
1
- gcc -O2 オプションで動作するので気にしないことにしました。ありがとうございました。
1
+ gcc -O2 オプションで動作するので気にしないことにしました。ありがとうございました。
2
+
3
+ 1763行目のxgcd関数に入る瞬間にコアダンプします。関数の内部にexit関数を記述して、計算内容を表示させることはできるのですが、exitを外すと再び関数に入ると同時にコアダンプします。なぜだかわかりません。exitを入れないと、xgcdの計算内容の表示をする前にコアダンプします。