CreateThread関数を使用して、スレッドを立ち上げる際に、第二引数でスタックサイズを指定した場合、その指定したスタックサイズをOSが変更(最適化?)してプログラムが動くということはあるのでしょうか?
例)
CreateThreadでスタックサイズ「4000」を指定
ただ、実際にそのスレッドのスタックサイズは「5000」だった
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
回答2件
0
ベストアンサー
あります。CreateThreadの説明にあるとおりスタックのサイズはメモリのページサイズの倍数に丸められるので指定したサイズにはならないです。
あとこれはあくまで初期サイズなので足りなくなったら自動的に拡大します。
投稿2016/08/08 10:17
総合スコア2850
退会済みユーザー
2016/08/19 13:17
退会済みユーザー
2016/08/20 11:37 編集
退会済みユーザー
2016/08/21 00:08
0
すでに解決済みとはなっていますが、Windowsでスタック領域が仮想メモリ空間上にどのように確保されているかは、VMMapというツールを使用すれば、簡単に状況が掴めます。(スタック用にアドレス空間のみ確保されているか、実際にメモリが割り当てられているのかなども)
ご参考までに。
投稿2016/08/22 18:39
総合スコア344
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。