回答編集履歴

2

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

2020/02/26 03:28

投稿

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

1

コメントの追加

2020/02/26 03:28

投稿

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