最近一个项目遇到要调用dll 第三方的dll 名称为HG_Interface 方法为:long start(Interface *p_inter, char *FUNC_ID) 不知道怎么调用,主要是参数:Interfae *p_inter怎么处理?基本数据类型的指针 能够处理成功了,我都搞了好多天了,找了很多列子不过都没有类似于start(Interface *p_inter, char *FUNC_ID) 的而且是第三方的dll ,虽然没有给多少分但是真的没有分数.先谢谢了
解决方案 »
- java SE 怎么实现文件传输?
- 写自己的文本编辑器(一): 高亮关键字
- 进来帮看看啊 谢咯
- String不是不能改变么??
- 如何,把SQL文中的表名提取出来
- 如何应用Substance
- 特别简单的问题:字节和字符到底怎么区别?区分在哪里?
- Java的类可以不写构造函数吗?
- 异常信息:java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
- 问问自己我们该怎么学??我们都在大张旗鼓的学习JAVA,究竟有多少人认为自己学会了,学到了什么?学到了什么程度?学习了多少时间,下了多少工夫,?是自学的么,?用的什么教材,有什么学习的好的方法?我是新手,什么都不懂。就不能给我说说么??
- file类的createTempFile建立文件,建立出来的文件,指定的文件名后为什么带一堆数字
- 有做过或是正在做JXTA东西的朋友吗
就是参数Interface *p_inter 问题急急啊
#include <stdio.h>
#include <windows.h>
// #include <string.h>
#include "dll_TestStart.h"
#include "jni.h"//typedef struct {
//char name[ 256 ];
// int serial;
//} DiskInfo;//typedef long (_stdcall* newinterfacewithinit)(char *Addr, int Port, char *Servlet);
typedef long (_stdcall* start)(long p_inter, char *FUNC_ID);
//typedef UINT (CALLBACK* start)(char *);
JNIEXPORT jlong JNICALL Java_dll_TestStart_start
(JNIEnv *env, jclass jcl, jlong p_inter, jstring FUNC_ID)
{
//jclass objClass = (env)->FindClass("java/lang/Object");
//jobject p_inter_1 = (*env)->FindClass(" p_inter"); // const char* p_inter_1 = (*env)->GetStringUTFChars( env, p_inter, 0 );
const char* servlet_1=(*env)->GetStringUTFChars( env, FUNC_ID, 0 ); HINSTANCE hTest;
start Xianshi_dll ;
//ID_Read pRead;
long zz;
//int j;
hTest=LoadLibrary("HG_Interface.dll");
if(hTest!=NULL){
Xianshi_dll =(start)GetProcAddress(hTest,"start");
}
// FreeLibrary(hTest);
//printf(" diao yong fail \n d%",max_12);
if (Xianshi_dll ==NULL)
{
FreeLibrary(hTest);
printf("Xianshi dll link failed\n");
return ""; }
else{
printf("fang fa bei tiao yong liao");
zz=Xianshi_dll(p_inter,servlet_1);
FreeLibrary(hTest);
return (jint)zz; } //(*env)->ReleaseStringUTFChars( env, p_inter, p_inter_1 );
(*env)->ReleaseStringUTFChars( env, FUNC_ID, servlet_1 );
}
虽然没有分但是
能不能说具体点你的意思是数据类型,无关,我不知道怎么用Interface sizeof() 得到多少个字节,因为,Interface * p_inter 在 dll里面就是个声明,另外我就没任何关于它的信息了,,