JavaÖÐÈçºÎµ÷ÓÃVCµÄ¶¯Ì¬¿â
ÒÔǰһƪµÄDLLΪÀý²ûÊöJavaÈçºÎµ÷Óö¯Ì¬¿â
Ŀǰ´æÔÚÒ»¸öVC±àÒëµÄ·ÇMFC¶¯Ì¬¿âDLL£¨¾ßÌåÈçºÎÉú³É·ÇMFC¶¯Ì¬¿âDLL¼ûǰһƪÎÄÕ£©£¬Ãû³ÆÎªmydll.dll£¬ÆäÖÐÓе¼³öº¯Êýmyadd£ºÐÎÈ磺int myadd(int,int)£¬ÏÖjavaÓ¦ÓóÌÐòÐèÒªµ÷Óøö¯Ì¬¿âµÄmyaddº¯Êý¡£¾ßÌåʵÏÖ²½ÖèÈçÏ£º
1¡¢±àдµ÷ÓÃmydll.dllµÄjava³ÌÐò
£¨1£©³ÌÐòtestMyDll .javaÈçÏ£º
public class testMyDll {
private native static int myadd(int a,int b);
static {
System.loadLibrary("javamydll"); //¸Ã¶¯Ì¬¿âÃû³ÆÎªÖм䶯̬¿â£¬ÓÉjava³ÌÐòʹÓ㬸ºÔðµ÷ÓÃÐèҪʹÓõĶ¯Ì¬¿â¡£
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(myadd(4,5));
}
}
£¨2£©±àÒëtestMyDll .java³ÌÐò£¬¼ì²éÊÇ·ñ´æÔÚ´íÎó¡£
javac testMyDll .java
2¡¢Éú³ÉÍ·ÎļþtestMyDll.h£¬¹©Éú³ÉÖм䶯̬¿âʹÓá£
javah testMyDll
3¡¢Éú³ÉÖм䶯̬¿âjavamydll.dll
£¨1£©Ê¹ÓÃvc¹¤¾ßÏÈÉú³Éwin32 Dynamic-Link Library¿Õ¹¤³Ì
£¨2£©½«ÉÏÃæÉú³ÉµÄÍ·ÎļþtestMyDll.hÌí¼Ó½øÈ¥£¬Í¬Ê±»¹ÐèÒªÌí¼ÓjdkÏÂincludeĿ¼ÖÐ µÄjni.h¡¢jni_md.hÕâÁ½¸öÍ·Îļþ£¬×îºÃ½«jni.hÎļþ·ÅÈ밲װĿ¼ÏÂincludeµÄĿ¼ÏÂ
£¨3£©Ìí¼Óµ÷ÓÃÐèҪʹÓõĶ¯Ì¬¿âµÄʵÏÖÎļþtestMyDll.cpp
³ÌÐòÈçÏ£º
//testMyDll.cpp
#include <windows.h>
#include "testMyDll.h"
typedef int (*padd)(int,int);
JNIEXPORT jint JNICALL Java_testMyDll_myadd
(JNIEnv * a, jclass b, jint x, jint y)
{
HINSTANCE hins = ::LoadLibrary("mydll.dll");
if(hins == NULL)
{
return 0;
}
int res;
padd pa = (padd)GetProcAddress(hins,"myadd");
if(pa != NULL)
{
res = x+y;
}
::FreeLibrary(hins);
return res;
}
£¨4£©±àÒëÉú³ÉÖм䶯̬¿âjavamydll.dll
4¡¢½«Öм䶯̬¿âjavamydll.dllºÍÐèʹÓõĶ¯Ì¬¿âmydll.dll·ÅÔÚtestMyDll.classĿ¼Ï£¬ÔËÐиÃÀà: java testMyDll
³ÌÐòÊä³ö½á¹û£º9
´ÓÉÏÊöʵÏÖ·½·¨ÖпÉÒÔ¿´µ½£¬javaÐèÒªµ÷ÓÃÒÑÓеĶ¯Ì¬¿â£¬»¹ÐèÒª×Ô¼ºÉú³ÉÒ»¸öÖм䶯̬¿â£¬¸ºÔðµ÷ÓÃת»»¡£ËùÒÔЧÂʾͻáÓеãµÍ¡£
Ïà¹ØÎĵµ£º
public class Test4 {
public int binarySearch(int[] items, int value){
int startIndex = 0;
int stopIndex = items.length - 1;
int middle = (int)Math.flo ......
Java³ÌÐòÔ±µÄÍÆ¼öÔĶÁÊé¼®¡·
JavaEye (http://www.javaeye.com)
×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£ÎÒÏë¾ÍÎÒ×Ô¼º¶Á¹ýµÄ¼¼ÊõÊé¼®ÖÐÌôÑ¡³öÀ´Ò»Ð©£¬°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
Ò»¡¢Java±à³ÌÈëÃÅÀà ......
±±¾© ÁõÓñÇ¿ Èí¼þ¹¤³Ìʦ ¼òÀú java php
ÇóÖ°¼òÀú
· »ù±¾ÐÅÏ¢
ÐÕ Ãû:
ÁõÓñÇ¿
³öÉúÈÕÆÚ:
1988Äê10ÔÂ23ÈÕ
ÐÔ ±ð:
ÄÐ
Ãñ ×å:
ºº×å
ר Òµ£º
Èí¼þ¼¼Êõ
½¡¿µ×´¿ö:
½¡¿µ
E - Mail:
mengxiangbaidu@qq.com
ÁªÏµµç»° ......
Chapter I.
JavaµÄÓÅȱµã¸÷ÖÖÊéÉ϶¼ÓУ¬ÕâÀïֻ˵˵ÓÃJava×öACM-ICPCµÄÌØµã£º
(1) ×îÃ÷ÏԵĺô¦ÊÇ£¬Ñ§»áJava£¬¿ÉÒԲμÓJava Challenge
(2) ¶ÔÓÚÊìϤC/C++µÄ³ÌÐòÔ±À´Ëµ£¬Java ²¢²»ÄÑѧ£¬ÕÒ±¾Ê飬һÁ½ÖÜÒµÓàʱ¼ä¾Í¿ÉÒԸ㶨ÁË¡£µ±È»£¬ÕâÀïÖ»ÊÇÖ¸Ò»°ã±à³Ì£¬ÏëÊìϤËùÓеÄJava¿â»¹ÊÇÐèҪЩʱ¼äµÄ¡£ÊÂʵÉÏ£¬Java Ö ......
// ÕûÊýµ½×Ö½ÚÊý×éת»»
public static byte[] int2bytes(int n) {
byte[] ab = new byte[4];
ab[0] = (byte) (0xff & n);
ab[1] = (byte) ((0xff00 & n) >> 8);
ab[2] = (byte) ((0xff0000 & n) >> 16);
ab[3] = (byte) ((0xff000000 & n) >> 24);
return ab ......