【发布时间】:2021-06-13 20:54:48
【问题描述】:
有没有办法(使用 gcc)来设置共享库的堆栈大小?
我构建了一个 .so,其中包含一个使用大缓冲区作为局部变量的函数。
类似的东西:
void foo ( void )
{
int table [1000000] ; // 4 millions bytes table !
...
}
我添加了选项-Wl,-z,stack-size=4100000,但它没有任何效果(甚至没有错误消息)。
顺便说一句,这个库是从 java 代码中调用的(使用 JNA)。
由于我没有找到任何关于这个奇怪问题的帖子,我担心这是不可能的......
【问题讨论】:
-
你试过
-Wl,--stack,4100000吗? -
感谢 tstanisl,但不幸的是我得到了一个“/usr/bin/ld: unrecognized option '--stack'”
标签: c gcc shared-libraries stack-size