-1
私はCで1つの信じられないほどのセグメントクラッシュコールスタックを持っています。信じられないほどのプログラムクラッシュコールスタック
int function(struct A *a)
{
... some other declare
struct B *b = a->b;
int count, len;
... some other declare
struct C *c = b->c; /* not crash here */
....some other decalre
if (b->e) { /*crash log indicate b is NULL and crash here,first line instrucment code*/
.....
}
....
}
私の質問は、struct C *c = b->c
でクラッシュが発生しなかった理由です。
GCCはコンパイラです。データフロー依存性がない限り
トニー
ドキュメンテーションの「クラッシュ」を保証する何かを見たことがありますか? –
無効なポインタへのアクセスは未定義の動作です。コンパイラは、UBに遭遇するとすぐにクラッシュを保証する義務はありません。定義上、UBは行動が予測不能であることを意味する。 – kaylum
信じられないほどのセグメントは何ですか?私はこれらについてもっと知りたいです! –