首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java 7上使用JNI运行java 5/6会发出堆栈保护警告。

在java 7上使用JNI运行java 5/6会发出堆栈保护警告。
EN

Stack Overflow用户
提问于 2013-09-19 07:55:49
回答 2查看 15.2K关注 0票数 6

使用1.5 (或1.6的1.5可比较模式)构建的java程序提供了以下警告:

Java HotSpot(TM)服务器VM警告:您已经加载了库mynativelib.so,它可能禁用了堆栈保护。 VM现在将尝试修复堆栈保护。强烈建议您使用“execstack -c”修复库,或者将其链接到'-z noexecstack‘。

这似乎不会引起任何问题,但显然会让我们的客户感到有点害怕。我不认为在7中构建java位会解决这个问题,但我很难了解文档如何为Java 7构建JNI库,这也是警告意味着我应该做的事情。

那我该去哪找呢?

EN

回答 2

Stack Overflow用户

发布于 2013-11-04 03:13:43

在这里找到答案disabled stack guard warning (ACF9, JVM 1.7, Linux)

他说

这是Java7在Linux上的HotSpot编译器的一个特性,它试图阻止用C编写并链接到Java (所谓的JNI)的代码,如果编写得不好或恶意,就阻止整个VM。

票数 5
EN

Stack Overflow用户

发布于 2016-01-18 03:34:41

另一种可能是,您试图运行的Java+JNI应用程序是为Linux32bit编译的。

在这种情况下,有两种解决办法:

  • 如果您有应用程序的源代码,请将其移植到Linux 64位。
  • 如果没有,请下载应用程序的Linux 64位版本。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18889113

复制
相关文章

相似问题

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