java调用c 语言生成的dll(java calls the dll generated by the c language)

java调用c 语言生成的dll(java calls the dll generated by the c language)

ID:36238626

大小:42.50 KB

页数:12页

时间:2019-05-07

java调用c  语言生成的dll(java calls the dll generated by the c   language)_第1页
java调用c  语言生成的dll(java calls the dll generated by the c   language)_第2页
java调用c  语言生成的dll(java calls the dll generated by the c   language)_第3页
java调用c  语言生成的dll(java calls the dll generated by the c   language)_第4页
java调用c  语言生成的dll(java calls the dll generated by the c   language)_第5页
资源描述:

《java调用c 语言生成的dll(java calls the dll generated by the c language)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、java调用c++语言生成的dll(JavacallstheDLLgeneratedbythec++language)Javahowtocallc++towritetheDLL(DynamicLinkLibrary)SimpletouseJNIAsoneofthemostsimpleHelloWorldprogramtointroducethemostbasicuseofJNI:1)thefirsttohaveaHelloWorld.java.Thisisthemainfile,whichincludestheloca

2、lmethodJavastatement,amainfunction,andastaticcode,usedtoimportneededdynamiclinklibrary(windows.Dll).Thefollowingcode://HelloWorld.javaClass{HelloWorldPublicnativevoid(displayHelloWorld);//notethatthekeywordnative,whichshowsthismethodisrealizedbythelocalmethod.St

3、atic{//staticcodeintothehello.dllsection.System.loadLibrary("hello");}Publicstaticvoidmain(String[]args){//callsthedisplayHelloWorldmethodofthisclass(ofcourse,themethodisactuallyusingtheClanguage)New(HelloWorld)(.DisplayHelloWorld);}}2)compileHelloWorld.java.Use

4、statement:,JavacHelloWorld.java3)usethejavahcommandtogeneratea.Hfile.Usestatement:,JavahHelloWorldThisistherealizationofthedisplayHelloWorld(c)filemethodheaderfile.ThefilenamefortheHelloWorld.hCode:DONOTEDITTHIS/FILE-itismachinegenerated.#includeHeaderfor

5、classHelloWorld/**/#ifndef_Included_HelloWorld#define_Included_HelloWorld#ifdef__cplusplusExtern{"C"#endif**Class:HelloWorld*Method:displayHelloWorld*Signature:(V)*/JNIEXPORTvoidJNICALLJava_HelloWorld_displayHelloWorld(JNIEnv*jobject);#ifdef__cplusplus}#endif#en

6、difAsyoucansee,thisfileisthemainmethoddeclarationmethodsneedtobeimplementedintheCfileinsidethe.ThisstatementandthejavafileHelloWorld.javahasalittledifference,theoriginalmethodwithnoparameters,butnowwithtwoparameters.Thetwoisalocalmethodtosomeparameters.Thefirstp

7、arameterisJNIEnv*,whichisusedtoconnecttothelocalobjectparametersandmethodsinyourJavaapplications.Thesecondparameterisajobject,whichpointstothecurrentobject,youcanalsounderstanditasaJavainsidethethisvariable.Foralocalinstancemethod,suchasinthecaseofthedisplayHell

8、oWorldmethod,thejobjectparameterisanobjectinthecurrentinstance.Forlocalclass,thisparameterisamethodoftheclass.Theuseofthesetwoparametersisnotrequiredinthiscase.Anothe

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。