首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置共享库的堆栈大小

设置共享库的堆栈大小
EN

Stack Overflow用户
提问于 2021-03-16 14:44:28
回答 1查看 199关注 0票数 0

有没有一种方法(使用gcc)来设置共享库的堆栈大小?

我构建了一个包含单个函数的.so,该函数使用一个大缓冲区作为局部变量。

就像这样:

代码语言:javascript
复制
void foo ( void )
    {
    int table [1000000] ; // 4 millions bytes table !
    ...
    }

我添加了选项-Wl,-z,stack-size=4100000,但它没有效率(甚至没有错误消息)。

顺便说一句,这个库是从java代码(使用JNA)调用的。

因为我没有找到任何关于这个奇怪问题的帖子,恐怕这不可能.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-16 17:41:12

不,这是不可能的--在调用它们的线程上下文中,来自共享库工作的函数,该线程要么是一个主应用程序线程(在main中启动),要么是一个用P线程创建的线程(在pthread_create中线程创建时将分配堆栈)。

-Wl,-z,stack-size标志只适用于应用程序,而不适用于库,并设置主线程堆栈的大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66657506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档