You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何macOS系统中栈内存大小并非精确为8MB?

macOS默认栈大小差值疑问

我在观察到Windows系统默认栈大小略大于1MB后,想要测试macOS的栈大小限制。发现即使在未使用任何栈内存的情况下,macOS的栈大小限制也比默认的8MB少18648字节,这个差值对我来说有点大。我知道调用函数会占用部分栈空间,但这里只调用了无参数的main()函数。

#include <iostream>
typedef unsigned int u32;
int main() {
    constexpr u32 bytes_1MB = 1024 * 1024;
    constexpr u32 bytes_8MB = 8 * bytes_1MB;
    constexpr u32 stack_size = 7 * bytes_1MB + 1029928;
    constexpr u32 diff = bytes_8MB - stack_size;
    // std::cout << diff << '\n';
    volatile char arr[stack_size];
}

内容的提问来源于stack exchange,提问作者Markus Peterson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:20:58