下载此文档

探讨大型应用系统开发中的混合语言编程问题.docx


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
探讨大型应用系统开发中的混合语言编程问题——以 Java 和 Lisp 之间的接口编程方式为例 1 引言当前, 在各种跨开发工具、操作系统和网络的开发方式中, 为了更好的实现大型应用系统各种不同的功能, 常常采用混合语言编程的方式来完成相应的系统需求。在各种开发语言中,Jav a 语言是开发网络应用程序的首选,而 Lis p 语言很早就成为人工智能领域中应用最广泛的计算机语言。这两种语言都提供了多种与其他语言的接口, 使得我们用这两种语言开发的软件模块能够无缝的链接成一个整体。 2 Java 的外部接口 JNI 调用 non-Java 代码在某些特殊情况下,Java 需要调用 non-Java 程序代码。要和 non-Java 程序代码衔接, 编译器和虚拟机必须提供专门的支持才行。而且还要有额外的工具将 Java 程序代码对应至 non-Java 程序代码。 Non-Java 程序代码的调用标准, 是由 JavaSoft 提供的“ Java Native Interface,JNI ”实现的。目前 JNI 的设计只能与用 C或 C++ 写的 native methods 相接。 1) 撰写 Java 程序代码, 声明 native 函数和相应的参数 public class NativeExample { // 声明要调用的外部 C 函数 Invoke_Native public static native void Invoke_Native( String Str ); static { ( "NativeImpl" ); // 将包含 native 函数的 DLL 装载到内存}} public static void main( String[] args ) { NativeExample app=new NativeExample(); ( "Use Native Function" ); // 调用外部 C 函数 Invoke_Native } 2) 编译 Java 源文件, 生成 native 函数的 C或 C++ 头文件的函数原型声明: javah -jni NativeExample 其中比较关键的是函数头的书写, 上面的例子可以生成如下的函数声明: JNIEXPORT void JNICALL Java_NativeExample_Invoke_Native (JNIEnv *,jobject,jstring); 3) 实现 non-Java 程序代码的 DLL extern " C" JNIEXPORT void JNICALL Java_NativeExample_ Invoke_Native(JNIEnv *env,jobject,jstring jMsg) { const char* msg=env->GetStringUTFChars(jMsg,0); printf( "Exercise in Java,JNI:%s\ n",msg ); env->ReleaseStringUTFChars(jMsg,msg); } CORBA 实现语言无关性 CORB A 并非某种语言特性, 它是一个集成技术,是 OM G 定义的一套和语言无关的分布

探讨大型应用系统开发中的混合语言编程问题 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人utuhlwwue61571
  • 文件大小84 KB
  • 时间2017-03-28