上一篇《JAVA本地接口(JNI)》中介绍了Java的JNI技术,通过JAVA自有的方式调用动态链接库,这一篇将继续为大家介绍使用其他方式调用动态链接库。
首先,我们编写一个用于测试的链接库
头文件 print.h
#ifdef DLL_IMPLEMENT
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
#ifndef _Included_PRINT
#define _Included_PRINT
#ifdef __cplusplus
extern "C" {
#endif
DLL_API void print();
DLL_API void print2(int i);
DLL_API int print3(int i);
#ifdef __cplusplus
}
#endif
#endif
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
源文件 print.c
#define DLL_IMPLEMENT
#include <stdio.h>
#include "print.h"
DLL_API void print()
{
printf("invoke print...");
}
DLL_API void print2(int i)
{
printf("invoke print %d...", i);
}
DLL_API int print3(int i)
{
return i;
}