スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Github Pagesに移行しました。

ブログをGithub Pagesに移行しました。
https://zaburo-ch.github.io/
スポンサーサイト

【C++】mainなどの関数の中では大きな配列を確保できない

これがSegmentation faultになるのに対して

これは正しく実行される。

グローバル変数はヒープに取られるのに対して、
ローカル変数はスタックに積まれていく。
スタックのサイズは制限されていることが多く、
(bashならulimit -aで確認できる。8192KBだった)
bool型は1byteなので配列のサイズは10000001/1024≒9765KBとなり
スタックのサイズ制限を超えてしまうので、
メモリリミットより小さいがローカル変数として確保できない。

[参考]
http://homepage2.nifty.com/well/Variable.html
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。