c语言动态链接文件dll和.so文件生成

c语言动态链接文件dll和.so文件生成

c语言动态链接文件dll和.so文件生成

Windows系统(dll):

使用c语言版eclipse生成dll文件,具体eclipse设置参考:https://blog.csdn.net/csdncqmyg/article/details/53170548。
eclipse下载地址:链接:https://pan.baidu.com/s/1HcFw-wDr_HYYQ66ZptnzBw 提取码:5zi1 。

Linux系统(so):

so文件生成命令:gcc -fPIC -shared 文件名.c -o so文件名.so。例:gcc -fPIC -shared des.c -o libdes.so。
将.so放在$echo LD_LIBRARY_PATH下

jna解析动态链接文件

// jna解析
JNADes instanceDll  = (JNADes)Native.loadLibrary("libtest",JNADes.class);

例:调用c函数:int reportdes(char *souchar, char *destchar, char *key , int len , int flag)

int reportdes(char *souchar, char *destchar, char *key , int len , int flag)
{
	······
}

java定义代码如下:


import com.sun.jna.Library;
import com.sun.jna.Native;

public interface JNADes extends Library {
	JNADes instanceDll  = (JNADes)Native.loadLibrary("libtest",JNADes.class);
	public int  reportdes (byte[] souchar,byte[] destchar, byte[] key , int len , int flag);
}

方法调用:

JNADes.instanceDll.reportdes(source, target, null, target.length, 0);

jna jar包

jna 3.5.1.jar platform 3.5.1.jar
链接:https://pan.baidu.com/s/1Ab3ZpuOoPP0nUAMV1hR0rQ
提取码:5m92

你可能感兴趣的:(c语言动态链接文件dll和.so文件生成)