前言
关于环境和dll的生成,不懂的同学可以去查看JNA(一)与JNA(二)的内容
结构体可能比较重要,大多数Java应用与共享库的交互基本是以结构体做为桥梁,这里是通过数组来接收结构体数组的数据
操作
1.C语言代码
头文件(library.h)
#ifndef CDYNAMICDEMO_LIBRARY_H
#define CDYNAMICDEMO_LIBRARY_H
#include <string.h>
#include <stdlib.h>
// 字符串数组结构体
struct Student {
char *name;
int age;
};
// 注意这里的students是只带一个星号的
void getMultiplyStudents(struct Student *students, int *len);
#endif //CDYNAMICDEMO_LIBRARY_H
代码文件(library.c)
#include "library.h"
#include <stdio.h>
void getMultiplyStudents(struct Student *students, int *len) {
*len =

本文介绍了如何使用C语言和Java通过JNA进行交互,涉及结构体、数组和动态链接库的使用。C语言定义了结构体指针,Java通过数组接收数据,JNA作为桥梁处理不同语言间的通信。
最低0.47元/天 解锁文章
651

被折叠的 条评论
为什么被折叠?



