JAVA调用DLL的注意事项
网上JAVA调用DLL的文章不少了,但发现有些还是有问题。刚好研究了一下,稍做更改后,在VC2005上测试通过,(Release和Debug版本均可)。
更改点:
1、#include "jni.h"
2、将jni_md.h中的:#define JNICALL __stdcall变为:#define JNICALL __cdecl (函数使用的应该是c语言的缺省调用方式_cdecl方式,否则DLL里成的函数名形为:_MyFunc@12,不能为JAVA调用)。
也可以使用def导出函数,来限制生成的函数名不变为_MyFunc@12的形式。def导出的方法也很方便:添加一个def文件,内容注意写上EXPORTS MyFunc,即要导出的函数名。
相关文档:
2009年10月31日 星期六 15:32
package Client;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.nio.channels.Il ......
java ip地址转换为长整型;
public class Util {
/**
* 字符串ip转换为long
* @param 字符串ip
* @return
*/
public static long getStr ......
很久没上来了,发现虽然资料和书看的很多,但是很久没碰的东西还是很容易淡忘。以后希望能多记录吧。
今天玩了把线程池,并对其中的参数做了一些调整,并记录在多并发情况下线程数对各种情况的反应。程序是网上找的,并作了稍微修改。
java的线程池实现,ThreadPool
package net.zj.hz.yk.thr ......
学到JAVA的面对对象,发现如此强大!
万物皆对象,万物为我所用!
对JAVA产生强烈的好感!
但对于Sun公司的收购,JAVA不知会如何?
--------------------------------------------------
这第一篇文章,是我在CSDN的开端。
之后我会更新我的博客,写上一些学习感受。
希望能在这里找到一片新的天地! ......
One:14109
Two:14000
Three:15141
four:14297
package com.zbalpha.test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListTest {
public static void main(String args[]){
List<Long> ......