美文网首页
关于创建线程的线程栈大小问题

关于创建线程的线程栈大小问题

作者: 7bfedbe4863a | 来源:发表于2017-12-30 11:24 被阅读0次

    传入0

    创建线程的函数会预定一个区域,并由/STACK链接器的开关指定的存储量(这个值由链接器嵌入.exe文件中)来调拨存储器。线程栈的大小使用PE文件头中指定的大小。

    传入非0值

    函数为线程栈预定空间并为之调拨所需的所有资源。在这种情况下,预定空间的大小由/STACK链接器开关指定,或由该参数指定。具体值的选择取两者的较大值。

    /STACK链接器开关

    /STACK:[reserve][,commit]

    -reserve用于设置为线程栈预留多少地址空间,默认是1MB或4MB
    -commit参数指定最初应为栈预留的地址空间调拨多少物理存储空间,默认是一个页面。

    预订的地址空间的容量设置了栈空间的大小,可以防止应用程序耗尽内存,也可以发现程序中的bug。

    相关文章

      网友评论

          本文标题:关于创建线程的线程栈大小问题

          本文链接:https://www.haomeiwen.com/subject/wcpggxtx.html