- 主题:c++有没有空转(dry run)的办法?
为进程设置内存硬限不行吗?
【 在 xibaomo 的大作中提到: 】
: 现在有个c++程序,对不同的输入耗费的内存(不一定是主机上的内存)不一样,非得跑一遍才能知道。有没有办法让程序先空转一遍,得到需要的内存量,确定内存不会爆掉之后再真正地送上去跑?
:
: 更新:希望以后gcc或其他的compiler能有这么个功能:生成一组配套的程序或者库,里面记录所有的ma
: ..................
发自「今日水木 on iPhone XR」
--
FROM 124.64.16.*
你的方法对c++来说是不现实的,因为程序内部的状态变化也依赖于分配的内存里数值的变化。比如你先new一个数组,然后根据这个数组计算的值再new另一个数组。如果你第一个数组只计数不alloc,程序就会出错,根本得不到你想要的结果。
【 在 xibaomo 的大作中提到: 】
: 当然不行,16G的设备上不能跑15G的任务会被用户骂死的
: --
发自「今日水木 on iPhone XR」
--
FROM 223.72.80.*
除非你的程序仅仅在输入那一下进行alloc,后面是纯计算。那就很简单了,给程序加一个参数,输入加上这个参数时根据输入计算下alloc空间,然后直接返回需要的内存资源量就好了。
【 在 xibaomo 的大作中提到: 】
: 当然不行,16G的设备上不能跑15G的任务会被用户骂死的
: --
发自「今日水木 on iPhone XR」
--
FROM 223.72.80.*