java调用.dll程序

// mycalldll.cpp : 定义 DLL 的初始化例程。
//

#include "stdafx.h"
#include "mycalldll.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

//
// 注意!
//
// 如果此 DLL 动态链接到 MFC
// DLL,从此 DLL 导出并
// 调入 MFC 的任何函数在函数的最前面
// 都必须添加 AFX_MANAGE_STATE 宏。
//
// 例如:
//
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // 此处为普通函数体
// }
//
// 此宏先于任何 MFC 调用
// 出现在每个函数中十分重要。这意味着
// 它必须作为函数中的第一个语句
// 出现,甚至先于所有对象变量声明,
// 这是因为它们的构造函数可能生成 MFC
// DLL 调用。
//
// 有关其他详细信息,
// 请参阅 MFC 技术说明 33 和 58。
//

// CmycalldllApp

BEGIN_MESSAGE_MAP(CmycalldllApp, CWinApp)
END_MESSAGE_MAP()


// CmycalldllApp 构造

CmycalldllApp::CmycalldllApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}


// 唯一的一个 CmycalldllApp 对象

CmycalldllApp theApp;


// CmycalldllApp 初始化

BOOL CmycalldllApp::InitInstance()
{
CWinApp::InitInstance();

return TRUE;
}

#include "javacall.h"
JNIEXPORT jint JNICALL Java_javacall_shanfei (JNIEnv *, jclass, jint p)
{
int j = p*p;
return j;
}


mycalldll.h

/* DO NOT EDIT THIS FILE - it is machine generated */
#include "jni.h"
/* Header for class javacall */

#ifndef _Included_javacall//java的head
#define _Included_javacall
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: javacall
* Method: shanfei
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_javacall_shanfei
(JNIEnv *, jclass, jint);

#ifdef __cplusplus
}
#endif
#endif



//java
/**
* @author zhangxl
* 创建日期 2006-2-8
*/
public class javacall
{
static
{
System.loadLibrary("Maxdll");
}
public native static String multiply(int i, int j, String st);
public static void main(String[] args)
{
javacall jc = new javacall();
int i = 4;
int ii = 5;
String stj;
stj = jc.multiply(i, ii, "兰test");
System.out.println(i+" the shanfei result is :"+stj);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值