当前位置: 技术问答>linux和unix
linux下怎样用java调用.so死哦文件
来源: 互联网 发布时间:2016-02-17
本文导语: 我用的是 fc 6 现在有一个libTwi_8a_Api.so.1.0.0(目录:/usr/local/8asys/lib24),还有其对应的头文件tw16vid.h ,在tw16vid.h定义了一个函数int WINAPI TV_Initialize(void),现在我想用java程序来调用该so文件,并在java程序中...
我用的是 fc 6 现在有一个libTwi_8a_Api.so.1.0.0(目录:/usr/local/8asys/lib24),还有其对应的头文件tw16vid.h ,在tw16vid.h定义了一个函数int WINAPI TV_Initialize(void),现在我想用java程序来调用该so文件,并在java程序中使用TV_Initialize(void)该函数,怎么办呢?!
谢谢解答
谢谢解答
|
我可以给你一个例子,你可以试一下
class Tw16vid {
static {
try {
System.loadLibrary("libTwi_8a_Api");
System.out.println("loading libTwi_8a_Api.so OK.");
}
catch (java.lang.UnsatisfiedLinkError e) {
System.err.println("loading libTwi_8a_Api.so: " + e.toString());
}
}
public int TV_Initialize()
{
try {
return TV_Initialize();
}
catch (java.lang.UnsatisfiedLinkError e) {
return 0;
}
}
protected native int TV_Initialize();
}
使用的时候
Tw16vid test=new Tw16vid();
test.TV_Initialize();
class Tw16vid {
static {
try {
System.loadLibrary("libTwi_8a_Api");
System.out.println("loading libTwi_8a_Api.so OK.");
}
catch (java.lang.UnsatisfiedLinkError e) {
System.err.println("loading libTwi_8a_Api.so: " + e.toString());
}
}
public int TV_Initialize()
{
try {
return TV_Initialize();
}
catch (java.lang.UnsatisfiedLinkError e) {
return 0;
}
}
protected native int TV_Initialize();
}
使用的时候
Tw16vid test=new Tw16vid();
test.TV_Initialize();