如何用java调用c编写成的DLL
谢邀,远程方法调用的思路是对的,就是先用C#写一个WCF调用该库,然后Java调用WCF。如果你的库需要返回的数据只是基本类型的,不会很难。如果你需要返回一个自定义类,那么唯一的出路就是放弃。
查看dll函数及参数
查看dll函数接口的方法,都有统一的方法,就是使用dependen工具,但是,这个工具看不了函数的参数,那么,这时候有什么方法,方法有二:一个使用逆向的方法,如使用IDA,二是利用vs的提示功能,一般情况下,只有一个DLL文件,我们无法知道dll中函数的参数,通过DLL查看工具也只可以知道DLL中函数的名字,如 Dependency。
一般可以通过如下方式:
#define DllImport __declspec( dllimport )
#define DllExport __declspec( dllexport )
或者
#define DllImport extern "C" __declspec( dllimport )
#define DllExport extern "C" __declspec( dllexport )
DllExport void func();
DllExport int i = 10;
DllExport int j;
DllExport int n;
导入导出dll中的函数,但是导入的时候,需要知道函数原型(返回值+函数名+参数类型);
查看动态链接库中函数参数类型的方法,方法如下:
1:指定一个动态链接库文件:如:dllproj.dll。
2:VC建立调试工程,动态方式调用 dllproj.dll ;通过Dependency指定想要查看的函数;
如:
3:通过调试进入断点,查看dllFunction指针,就可以看到函数名和函数参数类型;
(注:暂时还无法查看返回值类型,如有哪位明知道,可以补充一下
);
如:
今天又发现一个更简单的方法:
当前目录的任意dll中的函数都可以;
CD /D %~dp0undname -f ?getnglabal@@YAHXZ
pause。
你好,可以使用以下工具来查看DLL函数及参数:
1. Dependency Walker:这是一个免费的工具,可以显示DLL文件中的所有函数和导出符号。它还可以显示函数的参数和返回类型。
2. API Monitor:这是一个免费的工具,可以监视和记录Windows API调用。它可以显示函数的参数和返回值,以及调用堆栈。
3. IDA Pro:这是一款反汇编器和调试器,可以用来分析和理解DLL文件中的代码。它可以显示函数的参数和返回类型,以及函数的执行路径和调用堆栈。
4. Visual Studio:这是一个集成开发环境,可以用来开发和调试Windows应用程序。它可以显示函数的参数和返回类型,以及调用堆栈和变量值。
无论使用哪种工具,都需要对DLL文件有一定的了解,以便正确地解释和理解函数和参数。