小编Ori*_*Gil的帖子

使用JNI加载动态C共享库,JNI还加载另一个共享库

在Java eclipse(Linux)上使用JNI,我正在加载一个名为first.so的动态共享库.到目前为止一切顺利.问题在于,first.so还会加载一个名为second.so的动态库.

运行程序时,我收到许多关于位于second.so中的符号的"未定义符号"错误.

使用JNI加载的库似乎无法在运行时加载其他C库,因为我们在Java环境中.我的假设是否正确?我是否需要特殊的编译标志来编译first.so库,或者是告诉eclipse它会在运行时尝试加载.so的特殊参数吗?

提前致谢!

c eclipse linux java-native-interface shared-libraries

5
推荐指数
1
解决办法
1845
查看次数

如何从外部执行内存转储到docker容器

我正在尝试找到一种方法来在docker容器上执行内存转储,以便执行内存取证(例如,检测恶意软件漏洞).我希望能够执行我在虚拟机上使用的相同方法.问题是docker容器(和任何类型的linux容器)以不同的方式使用内存 - 容器共享资源,使用命名空间和cgroups ......

我想编写一个执行此操作的工具,但是从哪里开始有点迷失.

如何处理这个问题?

提前致谢!

linux security docker

5
推荐指数
1
解决办法
2322
查看次数

将虚拟成员方法传递给 thread()

我试图将虚拟方法传递给线程类的构造函数(C++ 线程)。

经过一番搜索,我只能传递一个非虚拟成员方法。

我的基类A有一个启动方法,如下所示:

void A::start() {
    thread(&A::runnable,A()); // <--- What do I change here?
}
Run Code Online (Sandbox Code Playgroud)

函数runnable是虚函数,也在派生类B中实现。我在派生类B中重写 runnable 。

然后我在B上调用start

显然,start函数使用A(而不是B )中实现的runnable,因为它是在A :: start中显式定义的,这是不希望的。有什么办法可以让runnable函数动态绑定吗?

我想到使用模板和其他一些创意解决方案。(如果没有真正的解决方案,我最终会在B中实现start )

任何帮助将不胜感激。

c++ inheritance

2
推荐指数
1
解决办法
2225
查看次数