java里怎么解析linux下编译的.so文件里的类

问题描述

现在有个项目需求:支持上传.so文件,并获得里面定义的类,如何解决?这个功能原本是上传jar包,然后用JarInputStream进行解析,把类加入ClassLoader然后利用,现在需要支持上传.so文件,该怎么做?

解决方案

解决方案二:
.so里还有java类?是用jni调用里面的函数吧?
解决方案三:
是获得c++类,只是要得到里面定义的类,不调用函数引用1楼houjin_cn的回复:

.so里还有java类?是用jni调用里面的函数吧?

解决方案四:
1)精确地方式就是解析so文件,搜关键字"ELF文件格式"2)简单的方式:观察一下类在so文件的表示模式,再根据这中模式在文件中搜索
解决方案五:
那就是说没有现成的类似JarInputStream的接口可以调用了?有点麻烦,得好好想想了,谢谢了引用3楼houjin_cn的回复:

1)精确地方式就是解析so文件,搜关键字"ELF文件格式"2)简单的方式:观察一下类在so文件的表示模式,再根据这中模式在文件中搜索

时间: 2024-10-26 11:24:51

java里怎么解析linux下编译的.so文件里的类的相关文章

c++-Linux下编译C++文件出现问题

问题描述 Linux下编译C++文件出现问题 写了一个Course类,编译g++ -std=c++11 Course.cpp时出现提示 刚看的C++ Primer,小白,还请给位前辈指点一下,谢谢. Course.h #ifndef COURSE #define COURSE #include <string> #include <iostream> using namespace std; class Course{ friend istream &read(istrea

Linux下编译C文件的过程

  1.首先,写一个简单的C源文件:HelloWorld   #include <stdio.h>int main(){ printf("/nHello World!/n/n"); return 0;}     2.下面是调用gcc命令编译HelloWorld.c的过程: [root@localhost gcc_test]# ls -l total 4 -rw-r--r-- 1 root root 78 Sep 11 00:17 HelloWorld.c   // gcc的

Linux下编译安装php libevent扩展实例

 这篇文章主要介绍了Linux下编译安装php libevent扩展实例,本文着重讲解了编译过程中一个错误解决方法,需要的朋友可以参考下     原本想尝试一下PHP编写高性能网络服务,需要安装libevent扩展,没想到让人很费了点脑袋 先下载libevent扩展: http://pecl.php.net/package/libevent 解压后,开始编译 代码如下: $ cd libevent-version $ /usr/local/php/bin/phpize $ ./configure

图像处理问题:在跑有关图像处理的代码时在linux下编译时出现错误如下

问题描述 图像处理问题:在跑有关图像处理的代码时在linux下编译时出现错误如下 应该怎样修改? 解决方案 源代码有问题,如果不是源代码的问题就是缺少头和库,或者头和库的路径没有被添加到编译器的路径中.先看下出错的源代码文件的出错行,找到对应函数所用的头和库. 解决方案二: 你是不是调用了别的库?我看应该是你代码中用了别的库,但是没有用对.

在linux下编译软件和第三方库时不分debug和release吗?

问题描述 在linux下编译软件和第三方库时不分debug和release吗? 在win下,通常需要编译debug和release两个版本. 但是我在linux下编译一些第三方的软件和类库,例如QT/jsoncpp/ACE等等在编译的时候都只能选择debug和release中的一个版本,很少有能同时编译两个版本的. 而且用官方的安装软件编译的QT5.5,我查看文件也发现只有一个版本链接库,在QtCreator却可以生成debug和release两种版本的代码.很困惑究竟是为什么?是Qt的原因还是

编程-Linux下编译啊 求救

问题描述 Linux下编译啊 求救 二.C 编程及作图. 1)编程C程序输出图中各顶点: 2)gnuplot 作图,并在Windows 中用浏览器查看该图,检验正确性. 画右图所示的螺线. 螺线起点在原点,首段长度0.5,角度0.每一段比上一段长度大0.5,角度大-144o.程序的输出(共50行)为: 0.0000 0.0000 0.5000 0.0000 -0.3090 -0.5878 - 0.1545 12.6677 7.7254 -10.6331

文件读写-Java项目部署在Linux下文件写入的问题

问题描述 Java项目部署在Linux下文件写入的问题 一个java项目在windows下文件读写都没有问题,但是部署在Linux下的时候写入文件时有问题. 是要编辑一个文件,先打开了这个文件把里面的内容读出来,然后编辑,完了之后保存,如果打开编辑的时间超过了20秒,保存的时候就保存不上,也没有什么错误信息,如果不超过20秒,就可以保存成功.不是session的问题,session设置了30分钟.求各路大神前来指教啊 解决方案 你好,不知道你描述的问题还是我理解能力有所差异. 具我理解你的问题,

Linux 下编译c++ opengl的小程序

问题描述 Linux 下编译c++ opengl的小程序 完整的代码如下 #include <GL/glut.h> #include <cmath> #include <utility> #include <vector> using std::vector; using std::pair; vector<pair<int, int> > my_points(4); vector<pair<int, int> &g

Linux下编译redis和phpredis的方法_php技巧

本文讲述了Linux下编译redis和phpredis的方法.分享给大家供大家参考,具体如下: 1.准备工作 下载软件:本站下载地址. 操作系统:CentOS 5.5 redis 版本:redis-2.6.9 2.编译安装 tar zxvf redis-2.6.9.tar.gz //解压 cd redis-2.6.9 make //编译 如果出现如下错误: zmalloc.o: In function `zmalloc_used_memory': /data/redis-2.6.9/src/zm