Dee*_*hri 6 c++ windows porting mingw
我正在寻找一种在 Windows 上移植 POSIX getrlimits/setrlimit 功能的方法。
我们的应用程序有时会遇到非常深的递归,并且达到默认堆栈限制会导致堆栈溢出。
为了防止这种情况,我们编写了以下代码:
struct rlimit rl;
int error = getrlimit(RLIMIT_STACK, &rl);
if (!error)
{
rl.rlim_cur = rl.rlim_max;
error = setrlimit(RLIMIT_STACK, &rl);
}
Run Code Online (Sandbox Code Playgroud)
基本上我们在这里将堆栈限制设置为最大值。
现在我正在尝试使用 minGW 将此代码移植到 Windows(在 Linux 上为 Windows 交叉编译)
我四处搜索,但找不到从代码中执行此操作的方法。
我发现的是一个链接器标志“--stack”,它可以用作:
mingw32-g++ -Wl,--stack, -o file.exe file.c
但是我不确定从长远来看我是否会遇到这种用法的一些问题(例如为整个应用程序设置堆栈限制与特定代码段)
我更喜欢这个解决方案是以下之一:
| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |