c++ c Java调用DLL(通过VS2010).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ccJava调用DLL(通过VS2010)

Java/c/c++调用DLL 1、Java调用DLL(通过VS2010): 百度上有很多例子,不过因为自己的VC6.0不好用,所以我是在VS2010上面配置的: Step One: 在Eclipse/MyEclipse上面新建一个Java的工程: [java]?view plaincopyprint? span?style=font-size:14px;public?class?TestJNI?? {?? ????static?? ????{?? ????????System.loadLibrary(TestJNI);?? ????}?? ?????? ????public?static?native?void?sayHello(String?msg);?? ?????? ????public?static?void?main(String[]?args)?? ????{?? ????????sayHello(Hello,this?is?my?first?JNI?program?!);?? ????}?? }/span?? Step Two: 在命令行里面,相应的目录下面输入: javac TestJNI.java ---生成了一个TestJNI.class文件 javah TestJNI---生成一个TestJNI.h文件 Step Three: 1、新建一个工程,选择Win32Project--next 2、选择dll工程---finish 3、将TestJNI.h、\Java\jdk1.6.0_10\include下面的jni.h、\Java\jdk1.6.0_10\include\win32下面的jawt_md.h放到TestJNI\TestJNI下面,然后通过Solution Explorer--Header Files--Add--Existing Item添加这三个文件 4、修改stdafx.h文件: Step Four: 1、编辑TestJNI.cpp的文件: [cpp]?view plaincopyprint? span?style=font-size:14px;//?TestJNI.cpp?:?Defines?the?exported?functions?for?the?DLL?application.?? //?? ?? #include?stdafx.h?? #include?TestJNI.h?? ?? JNIEXPORT?void?JNICALL?Java_TestJNI_sayHello(JNIEnv?*?env,?jclass?obj,?jstring?jMsg)?? {?? ????const?char?*strMsgPtr?=?env-GetStringUTFChars(?jMsg?,?0);????? ?? ???????MessageBox(?0,?TEXT(Hello?World!),?TEXT(Tip),?0?);?? ?? ???????env-ReleaseStringUTFChars(?jMsg,?strMsgPtr);??? }?? /span?? 注意:编译的时候会出现:,不要担心,因为在文件夹里面还是会生成出现dll文件,这个好像是因为dll是需要程序去调用它的,现在没有程序所以会报错的原因。 2、打开工程属性,选择Configuration Properties ---VC++ Directories---include Directories 添加jdk路径下的include和/include/win32目录,这里包含jni.h等头文件 3、build工程,打开工程目录的debug目录,将其中生成的TestJNI.dll考到java工程的java.library.path目录下(一般的是系统的system32目录),当然也可在工程的配置里面配置java.library.path目录为dll文件所在的目录 Step Five: 正常情况下就可以了 2、在C/C++里面调用DLL: Step One: 打开VC6.0创建一个DLL: 1、文件--工程--Win32 Dynamic-Link Library--工程名称(如:dll) 2、新建一个c文件--文件--新建--C++ Source File--工程名称(如dllDemo.c),复制以下内容: [cpp]?view plaincopyprint? span?style=font-size:14px;#include?windows.h?? #include?dlldemo.h??? int?WINAPI?DllMain?(HINSTANCE?hInstance,?DWORD?fdwReason,?PVOID?p

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档