JNAʵÏÖJavaµ÷ÓÃFortran
Ôڳɹ¦ÊµÏÖJavaµ÷ÓÃC++Ö®ºó£¬½ÓÏÂÀ´Ïëµ½ÄÜ·ñͨ¹ýJNAʵÏÖJavaµ÷ÓÃFortran£¬½ñÌìÊÔÑéÁËһϣ¬»¹ÊDZȽÏÈÝÒ׵ġ£
ÍøÉÏÓÐÒ»¸öJavaµ÷ÓÃF95µÄÀý×Ó£¬µ«ÊÇÎÒ¿¼ÂDz»½öҪʵÏÖF95µÄµ÷Ó㬻¹ÒªÊµÏÖF77µÄµ÷Óã¬ËùÒÔ·ÑÁËһЩÖÜÕÛ¡£
ÎÊÌâµÄ¹Ø¼üÔÚÓÚF77Ϊ¹ý³ÌÃû×Ô¶¯Ìí¼ÓÁËÒ»¸öβ²¿µÄÏ»®Ïߣ¬ËùÒÔsub1Õâ¸ö¹ý³Ì£¬µ½JavaÒ»¶Ë£¬¾Í±ä³ÉÁËsub1_£¬ÖªµÀÁËÕâÒ»µã£¬ºóÃæ¾Í¼òµ¥ÁË¡£
1¡¢´´½¨Ò»¸ö¶¯Ì¬Á´½Ó¿âÏîÄ¿FortranDLL£¬Ð½¨Ò»¸ö¼òµ¥µÄfortranÔ´³ÌÐòfor1.f£º
subroutine sub1(i)
INTEGER i;
PRINT*, "SUB1 CALLED"
PRINT*, i
END subroutine
±àÒë´úÂëÉú³ÉlibFortranDLL.dll¡£
2¡¢Ð½¨Ò»¸öJavaÏîÄ¿£¬°üº¬JNA¿â
´´½¨Ò»¸ö¶¯Ì¬¿â½Ó¿Ú´úÂëFLib.java£º
import com.sun.jna.Library;
import com.sun.jna.ptr.ByReference;
public interface FLib extends Library {
void sub1_(ByReference i);
}
´´½¨Ò»¸öÖ÷³ÌÐòMain.java
import com.sun.jna.Native;
import com.sun.jna.ptr.IntByReference;
public class Main {
public static void main(String[] args) {
// Loading dynamically the library
FLib lib2 = (FLib) Native.loadLibrary("libFortranDLL", FLib.class);
IntByReference a = new IntByReference(1234);
lib2.sub1_(a);
}
}
×¢Ò⣬¹Ø¼üÔÚÓÚ½Ó¿Úµ±ÖеÄsub_Õâ¸öÃüÃû¹æÔò£¬·ñÔòÎÞ·¨ÕÒµ½ÕÒµ½Ö¸¶¨¹ý³Ì£¬ÁíÍâĬÈÏÇé¿öÏ£¬fortranʹÓÃÒýÓòÎÊý£¬ËùÒÔ²»Äܼòµ¥ÊµÓÃint×÷Ϊ²ÎÊý£¬±ØÐëʵÓÃÒýÓòÎÊý¡£
ÔËÐгÌÐò£¬µÃµ½ÈçϽá¹û£º
run£º
SUB1 CALLED
1234
³É¹¦Éú³É£¨×Üʱ¼ä£º1 Ã룩
3¡¢G95µÄµ÷Óøü¼òµ¥Ò»Ð©£¬¿ÉÒÔÖ±½ÓʹÓÃbindÖ¸¶¨Êä
Ïà¹ØÎĵµ£º
2010-05-16
Èý¡¢½âÎöXMLÎĵµ
l Xerces½âÎöÆ÷¡¢SAXÀàºÍ½Ó¿Ú
l SAXÔĶÁÆ÷
n Ê×ÏÈÒªµÃµ½Ò»¸ö·ûºÏSAX org.xml.sax.XMLReader½Ó¿Ú¹æ·¶µÄÀý×Ó£¬Õâ¸ö½Ó¿Ú¶¨ÒåÁ˽âÎöÐÐΪ²¢ÔÊÐíÉèÖÃijЩÌØÕ÷ºÍÊôÐÔ¡£¸Ã½Ó¿ÚÌæ»»ÁËSAX1.0ÖеÄorg.xml.sax.Parser
import org.apache.xerces.parsers.SAXParser;
import org.xml. ......
ÔÎÄ·¢±íÔÚhttp://baihuazhou.javaeye.com/blog/200642
ÎÒÃÇÔÚÏîÄ¿ÖУ¬¾³£»áÅöµ½ÕâÑùÒ»ÖÖÐèÇ󣬾ÍÊÇÈÃij¸ö³ÌÐòÔÚij¸ö¹Ì¶¨µÄʱ¼äÈ¥ÔËÐУ¬±ÈÈ綨ʱ±¸·Ý²Ù×÷¡£ÔÚJavaµÄJ2SEµÄAPIÖпÉÒÔºÜÈÝÒ××öµ½ÕâÒ»µã¡£
ÈÃÎÒÃÇÐèÒª¶¨Ê±Ö´ÐеÄÀà¼Ì³Ð×Ôjava.util.TimerTaskÖеÄTimerTaskÀ࣬°ÑÐèÒªÖ´Ðеķ½·¨·ÅÈërun·½·¨ÖУº
import java. ......
package com.ghb.crp.file;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutput ......
package Sort;
/**
* ÅÅÐò²âÊÔÀà
* ÅÅÐòËã·¨µÄ·ÖÀàÈçÏ£º
* 1.²åÈëÅÅÐò£¨Ö±½Ó²åÈëÅÅÐò¡¢ÕÛ°ë²åÈëÅÅÐò¡¢Ï£¶ûÅÅÐò£©£»
* 2.½»»»ÅÅÐò£¨Ã°ÅÝÅÅÐò¡¢¿ìËÙÅÅÐò£©£»
* 3.Ñ¡ÔñÅÅÐò£¨Ö±½ÓÑ¡ÔñÅÅÐò¡¢¶ÑÅÅÐò£©£»
* 4.¹é²¢ÅÅÐò£»
* 5.»ùÊýÅÅÐò¡£
*
* ¹ØÓÚÅÅÐò·½·¨µÄÑ¡Ôñ£º
* (1)Èôn½ÏС(Èçn≤50)£¬¿É²ÉÓÃÖ±½Ó²åÈ ......
½Ó´¥javaÕýÔò±í´ïʽÓÐÒ»ÄêµÄʱ¼äÁË£¬ºÃ¾ÃûÓи´Ï°ÁË£¬ÏÖÔÚд¸öÀ´¸´Ï°Ò»Ï£º
package com.fengfei.test;
public class GetNumber {
/**
* ÌåÑéJavaµÄÕýÔò±í´ïʽ£¬ÕÒ³ö×Ö·û´®sÖеÄÊý×Ö
* @param args
*/
public static void main(String[] args) {
& ......