首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >少了一步?在loadLibrary()的参数中需要填写哪些内容

少了一步?在loadLibrary()的参数中需要填写哪些内容
EN

Stack Overflow用户
提问于 2011-08-28 15:53:49
回答 3查看 106关注 0票数 3

以下是我从java程序调用本机函数所遵循的不完整步骤。

  1. 编写了一个java程序,然后编译成.class文件。
  2. 通过命令javah - jni,我生成了一个与.class文件同名的头文件。
  3. 之后,我打开了一个Microsoft C++ Express,启动了一个新项目,并将我的应用程序类型设置为dll

这是调用本机c方法的java程序。

代码语言:javascript
复制
class HelloWorld {

private native void print();

public static void main( String args[] ) {
  new HelloWorld().print();
}

static {
  System.loadLibrary("??"); // what should i write here ?
}

}

,这是c程序

代码语言:javascript
复制
#include <jni.h>
#include <stdio.h>
#include "HelloWorld.h"

JNIEXPORT void JNICALL 
Java_HelloWorld_print( JNIEnv *env , jobject obj) {
  printf("Hello World!\n");
  return;
}

我将项目名称保留为jni tester,c文件名为HelloWorld.c

在语句System.loadLibrary(??)中,参数中库的名称应该是什么?(或者,在填写loadLibrary的论点之前,我是否遗漏了什么步骤?)

如果是这样的话,我错过了什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7221996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档