#pragma comment(linker,“/ STACK:16777216”)

时间:2013-12-29 12:57:53

标签: c++

这是什么意思?

#pragma comment(linker, "/STACK:16777216")

在codechef编程挑战之后,我一直在研究来自不同cpp编码器的代码,我发现了这一点。但我不明白。

2 个答案:

答案 0 :(得分:3)

这取决于您使用的编译器。我的猜测是,这是针对某些Windows编译器(因为/ for选项)并且它要求链接器设置程序头中的条目,操作系统读取该条目以查看在加载时为堆栈保留多少内存程序

答案 1 :(得分:3)

阅读文档:

Pragma Directives and the __Pragma Keyword

comment (C/C++)

Linker Options

/STACK (Stack Allocations)

  

/ STACK:储备[,提交]

     

/ STACK选项设置堆栈的大小(以字节为单位)。仅在生成.exe文件时使用此选项。

     

保留值指定虚拟内存中的总堆栈分配。对于ARM,x86和x64计算机,默认堆栈大小为1 MB。

     

提交受操作系统的解释。在Windows WindowsRT中,它指定一次分配的物理内存量。提交的虚拟内存会导致在页面文件中保留空间。当应用程序需要更多堆栈空间时,更高的提交值可以节省时间,但会增加内存需求和可能的启动时间。对于ARM,x86和x64计算机,默认提交值为4 KB。

相关问题