読者です 読者をやめる 読者になる 読者になる

Boost.Context printfを使う場合の注意

C++

【context】Linux x64 / printf


printfはスタックをかなり使用するため、Boost.Contextで処理を中断させる関数内でprintfを使用するとスタックオーバーフローになってクラッシュする場合があります。printfデバッグしたい場合は、スタックサイズを多めに指定しましょう。


GCCにはSplit Stacksという自動伸長のスタックがあるらしく、そういうのを使えばスタックオーバーフローをあまり気にせず使えるようになるんだけどねぇ・・・という話が出てます。