免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2138 | 回复: 2
打印 上一主题 下一主题

怎样在java里嵌入C/C++代码,怎样编译 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-06 21:35 |只看该作者 |倒序浏览
采用J2SE-JDK 1.5.0_02/IDE 4.0

论坛徽章:
0
2 [报告]
发表于 2005-06-06 21:53 |只看该作者

怎样在java里嵌入C/C++代码,怎样编译

c/c++ 作 jni ,然后 java 内调用

论坛徽章:
0
3 [报告]
发表于 2005-06-06 23:31 |只看该作者

怎样在java里嵌入C/C++代码,怎样编译

Linux下测试jni
1、在测试用户下建立src、lib目录
2、进入src目录编写HelloWorld.java
   class HelloWorld {
   /* Native method declaration */
   public native void displayHelloWorld();
     /* Use static intializer */
      static {
         System.loadLibrary("hello";
      }
      /* Main function calls native method*/
      public static void main(String[] args) {
        new HelloWorld().displayHelloWorld();
      }
   }
3、然后javac HelloWorld.java
4、使用 javah 工具生成 HelloWorld.h 文件
   javah HelloWorld
5、编写HelloWorld.c
   #include <jni.h>;
   #include "HelloWorld.h"
   #include <stdio.h>;
   
   JNIEXPORT void JNICALL
   Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
   {
       printf("Hello world!\n";
       return;
   }
6、编译c的动态库
   gcc -shared -o $HOME/lib/libhello.so HelloWorld.c
   注意$HOME/lib目录要加入到环境变量LD_LIBRARY_PATH中去
7、java HelloWorld运行程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP