私は sigalstack 構造体を使用しています。詳細は次のとおりです。
そう宣言してるだけ
struct sigaltstack aa;
そして、私は次のエラーが発生し続けます
error: storage size of ‘aa’ isn’t known
「名前」のストレージサイズは不明ですが、宣言しているだけなので、実際には当てはまりません。
私は sigalstack 構造体を使用しています。詳細は次のとおりです。
そう宣言してるだけ
struct sigaltstack aa;
そして、私は次のエラーが発生し続けます
error: storage size of ‘aa’ isn’t known
「名前」のストレージサイズは不明ですが、宣言しているだけなので、実際には当てはまりません。
そのような初期化されていない代替スタックを使用することはできません。そのフィールドにスタック用のスペースを割り当て、そのss_sp
フィールドに対応するサイズを設定する必要がありss_size
ます。
リンクした man7 リンクには、これに関する詳細情報があります。実際、ページの下部に例を示します。
stack_t ss;
ss.ss_sp = malloc(SIGSTKSZ);
if (ss.ss_sp == NULL)
/* Handle error */;
ss.ss_size = SIGSTKSZ;
ss.ss_flags = 0;
if (sigaltstack(&ss, NULL) == -1)
/* Handle error */;
それが役立つことを願っています。