导航:首页 > 编程语言 > javah文件

javah文件

发布时间:2022-05-13 05:22:06

javah是什么意思

Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。

㈡ JDK怎样打开

工具/材料:以win10系统、jdk1.8.0_102为例。

1、首先在桌面上,点击“此电脑”图标。

㈢ 关于java JNI 生成.h文件

安装好JDK的、在include目录里面,,,,,,如JDK1.6,在JDK1.6-30\include这个目录里面

㈣ javah的问题

C:\Program Files\Java\jdk1.6.0_15\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_15\lib\tools.jar这两个环境变量要放在classpath里面的

㈤ Java如何获取文件的创建时间

能不能换个思路~~~汗啊~!好像用java的函数只能取得lastModified()有一个比较笨的方法
Process p=Runtime.getRuntime().exec("dir startup.bat /t -c");
然后取得p的输出信息就可以得到创建时间了!上面的例子我是得到tomcat的startup.bat这个文件的创建时间,如果你想得到其它文件的创建时间就可以将startup.bat换成其它文件名!study and mark ^_^如果用dir, 取得创建时间的参数是/TC路过学习ing帮您顶java是用native来获取操作系统的支持,从而对文件进行操作。
具体实现类是
java.io.FileSystem
这个类是私有的只能在jdk内部使用,由于这个类没有提供文件时间创建的接口,你也就没有办法用纯java来获得这一个功能(但愿不是这样)。
有一个简单的方法是自己调用系统函数,或者干脆调用各C函数
先写各本地类访问方法
class MyFileSystem{
public native void getCreatFileTime(File f);static {System.loadLibrary(" ");}
public static void main(String[] args) {
new HelloWorld().getCreatFileTime();}}编译本文件然后执行 javah,便会自动产生头文件 MyFileSystem.h
函数的具体实现如下:
#include
#include "MyFileSystem.h"
#include
JNIEXPORT double JNICALL
Java_MyFileSystem_displayHelloWorld(JNIEnv *env, jobject obj){//在这里调用C函数
double time=getFileCreatTime_IN_C(obj)
return time;}高手如云,我心忐忑
奋发图强~高手如云,我心忐忑奋发图强~me too,高手如云,我心忐忑奋发图强~me too,too还有可以复制java.io.FileSystem及相关类的源代码,把所有东西成public的,这样总可以用了吧,
当然把类名也改掉。。。。。顶!
Study!Up!!!顶一下!
支持upFile f = new File("d:\\a.txt");
Date date = new Date();
long L = date.getTime();
f.setLastModified(L);
以上个函数可以设置文件的最后修改时间,以及设置文件为“只读”属性顶!!!

㈥ 如何用java调用c语言编译器实现在线编译c语

要在java中调用c语言的库,需要使用Java提供了JNI。
举例说明
在c语言中定义一个 void sayHello()函数(打印Hello World);然后在Java中调用这个函数显示Hello Word.
现在分别从Java和C语言两部分说明:
1. Java 部分
首先定义一个HelloNative,在其中申明sayHello函数,函数要申明为Native 类型的.如下:
public class HelloNative {
public native void sayHello();
}

编译这个类,生成class文件:
javac HelloWorld.java

利用javah生成需要的h文件
javah HelloNative

生成的 h文件大概如下:

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloNative */

#ifndef _Included_HelloNative
#define _Included_HelloNative
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloNative
* Method: sayHello
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloNative_sayHello
(JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

可以看一下上面自动生成的程序,程序include了jni.h,这个头文件在 $JAVA_HOME下的include文件夹下. 还可以发现生成的函数名是在之前的函数名前面加上了Java_HelloNative。
2. C语言部分
根据上面生成的h文件编写相应的代码实现,建立一个 HelloNative.cpp用来实现显示Hello World的函数.如下:

#include <stdio.h>
#include "HelloNative.h"

JNIEXPORT void JNICALL Java_HelloNative_sayHello(JNIEnv *, jobject)
{
printf("Hello World!\n");
}

代码编写完成之后,我们再用gcc编译成库文件,命令如下;
gcc -fPIC -I/usr/lib/jvm/java-7-openjdk-i386/include -I/usr/lib/jvm/java-7-openjdk-i386/include/linux -shared -o libHelloNative.so HelloNative.cpp

这样就会在当前目录下生成一个libHelloNative.so的库文件.这时需要的库已经生成,在C语言下的工作已经完成了.
接下来需要在Java中编写一个程序测试一下.在程序前,需要将我们的库载入进去.载入的方法是调用Java的 System.loadLibrary("HelloNative");

public class TestNative
{
static {
try {
System.loadLibrary("HelloNative");
}
catch(UnsatisfiedLinkError e) {
System.out.println( "Cannot load hello library:\n " + e.toString() );
}
}
public static void main(String[] args) {
HelloNative test = new HelloNative();
test.sayHello();
}
}

但是再编译后,运行的时候,问题又出现了.
Cannot load hello library:
java.lang.UnsatisfiedLinkError: no HelloNative in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: HelloNative.sayHello()V
at HelloNative.sayHello(Native Method)
at TestNative.main(TestNative.java:13)

载入库失败,但是库明明就是放在当前文件夹下的,怎么会载入失败呢?
用System.getProperty("java.library.path")查看,发现java.library.path中并不u存在当前的目录.主要有以下的几个解决办法:
1) 将生成的库复制到java.library.path有的路径中去,当然这样不是很好
2) 设置环境变量export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ,将当前的目录加入到LD_LIBRARY_PATH中
3) 设置java 的选项,将当前的目录加入到其中 .java -Djava.library.path=. $LD_LIBRARY_PATH
这样之后程序就能够成功的运行了.可以看见显示的"Hello World!"了

㈦ 菜鸟问题: jdk, jar, javaw, javac, javah分别是什么

jdk 是java 开发工具包。 简单来说 ,是开发java 的一个必备工具。

jar 是 java 开发完成之后,打包的结果 类似 程序的 .dll 或者 .exe

javaw 是java 运行环境中的 一个工具, 用于启动 java 或者 jar 程序。 其作用是隐藏控制台的方式, 运行java 程序。

javac 是java 开发工具包(jdk) 其中的一个工具, 用于编译 java 文件, 产生可运行的 .class java 字节码文件。\

javah 是java语言 C 头文件和 stub 文件生成器。 主要用于 java做本地调用的时候。 产生C语言的头文件。

javaw 多数是用于运行 Swing 。 或者不需要控制台的可视化程序。 比如。运行 jar 文件。

javaw -jar jar文件名称

如果运行java 文件。 只要编译好产生.class 字节码文件
然后

javaw .class文件名
调用方式,和java 命令是一样的。 区别只是不产生控制台。

㈧ jni中用javah生成的头文件有什么作用

Java中本地方法(native修饰)可通过javah来生成头文件,你可以在这个头文件里实现java中定义的方法,然后你需要将生成的头文件编译,如DOS下编译得到动态连接库存XXX.dll,你在使用JAVA定义的那个本地方法时需要加载这个dll库然后你就可以像调其它JAVA一样调你定义的那个类的本地方法。对于已经编译过的头文件,你删除了也不会有什么影响的,只要你的dll文件还在就行!

纯手工,望采纳!

㈨ 如何对class文件使用javah命令

这是正常的,安装完JDK后,在DOS界面中输入“JAVAC”或“java”命令后如果会显示你上面截图中的内容,这就表明你的环境变量已经成功地配置完成了,而上面截图中的内容就是javac和java命令的使用方法,JDK常用的命令行工具如下:
javac:Java编译器,Java程序的编译工具,用来将Java程序的源文件编译成字节码文件,也就是.class文件。
java:Java解释器,解释和执行已经转换成字节码的Java应用程序。
jdb:Java调试器,可以设置断点调试Java程序,还可以检查变量,逐行执行程序。
javap:Java反汇编器,显示编译类文件中的方法和变量,还可以显示字节代码的含义。
javadoc:API文档生成器,可以生成HTML文档。
appletviewer:Applet小应用程序浏览器,用来解释并执行已经转换成字节码的小应用程序。
jar:JAR文件管理器,可以将类文件打包成一个文件。

编写并运行Java应用程序的三个步骤:
1 编写Java应用程序代码
2 进入MS-DOS界面进行代码的编译。编译的时候首先使用DOS中的cd命令,进入到代码所在的目录下。比如编写好的代码Hello.java放到了C:\MyJava目录下,就可以使用下面命令了完成了:
cd C:\MyJava
javac Hello.java
3 最后就是执行 java Hello 了。

㈩ 如何在eclipse 中配置javah

1
在进行安装配置maven工具的时候,首先就需要对maven安装目录下有个config文件夹,在文件夹下有settings.xml文件。settings里面就是配置maven工程的一些本地仓库地址(项目使用的某些jar下载并且安装到本机中),远程仓库(如果本机没有需要的jar,则从远程获取。)的配置等信息。
2
打开%M2_HOME%/conifg/settings.xml文件,在文件中可以看到localRepository配置的就是本地仓库,本地仓库地址的目录最好是全英文格式,不要包含汉字空格等其他特殊字符。
3
在配置文件中,mirror表示的是访问镜像。如果本地仓库没有项目所需要的jar包,就会通过这里的mirror配置的url地址进行从远程仓库获取需要的jar,同事将这个jar添加到本地目录中,当再次使用的时候,就会直接从本地仓库中直接获取。
4
maven在eclipse中的配置。首先打开eclipse开发工具,eclipse中的各种配置文件一般都是通过window窗口进行设置。打开导航工具栏上的window即可对工作空间进行设置。
5
打开window之后,可以看到很多功能的设置,新建window窗口、配置显示信息、打开window其他功能设置等。这里我们对maven地址配置,选择最后一个preferences选项。
6
在打开的配置项页面中,在输入框中,可以输入maven关键字,快速定位到maven文件夹,在maven文件夹下找到User Settings,主要是配置用户设置。
7
在查找用户配置user settings的时候,也可以通过依次展开文件夹的方式,直接点击选择maven文件夹,在maven文件夹下就可以看到用户设置选项。
8
点击user settings在用户配置界面中,有两个设置框,一个是Global Settings(全局配置信息)和User Settings(只针对这个工作空间进行设置)。根据自己的实际情况设置相应的settings文件即可。
9
点击用户设置右侧的Browe..浏览按钮,找到本机安装的maven工具下的settings.xml文件,这样就配置好了用户设置文件,一次点击update settings(如果工程下有maven项目自动更新)--apply应用--Ok确定即可完成配置。
多图

阅读全文

与javah文件相关的资料

热点内容
管家婆辉煌2加密狗挪到另一台电脑 浏览:760
摩托车在哪里app看考题 浏览:356
苹果5app在哪里设置 浏览:737
如何查看服务器的磁盘使用 浏览:165
python蒙特卡洛模型投点图 浏览:330
安卓手机属于什么接口 浏览:742
微信群推广网站源码 浏览:764
九江离鹰潭源码 浏览:719
python可以当作函数的返回值 浏览:422
地铁逃生体验服怎么进入安卓 浏览:833
齐鲁工惠app的中奖记录在哪里 浏览:759
linuxkill命令详解 浏览:103
dhcp服务器动态分配地址 浏览:265
门禁卡加密了能破解吗 浏览:215
在哪里下载百度网盘app 浏览:917
服务器要升级什么意思 浏览:831
银行还房贷解压方法 浏览:702
服务器主机办公如何提速 浏览:920
cad打印为pdf 浏览:418
卖手表的app哪里可以卖 浏览:55