1

我有一个 24MB 的 swig 生成的 C++ 代码文件,将近 5,00,000 行代码。将编译器优化级别设置为 xO0 时,我能够编译它,但是一旦我添加任何其他 C++ 编译器标志(如 xprofile ...),就会失败。我正在使用 Solaris Studio 12.3 C++ 编译器。

以下是控制台错误:

    Element size (in bytes):        48
    Table size (in elements):  2560000
    Table maximum size:        134217727
    Table size increment:         5000
    Bytes written to disk:           0
    Expansions required:             9
    Segments used:                   1
    Max Segments used:               1
    Max Segment offset:        134217727
    Segment offset size::           27
    Resizes made:                    0
    Copies due to expansions:        4
    Reset requests:                  0
    Allocation requests:       2827527
    Deallocation requests:      267537
    Allocated element count:      4086
    Free element count:        2555914
    Unused element count:            0
    Free list size (elements):       0

ir2hf:错误:内存不足

提前致谢。

4

1 回答 1

0

我发现这篇文章表明它与 Solaris 数据段的内存量有关。

按照博客中的步骤,尝试删除限制。

$ usermod -K defaultpriv=basic,sys_resource karel

现在注销并再次登录并更改限制:

$ ulimit -d unlimited

然后检查限制是否已更改

$ ulimit -d

输出应该是unlimited

于 2019-02-11T09:42:26.897 回答