public class Aaa{
public static void main(String[] args){
System.out.print("執行偶吧!");
}
}
保存為:Aaa.java
編譯:在開始--運行--輸入:cmd
輸入:cd 指定你保存文件的文件夾路徑--dir找到這個文件
開始輸入:javac Aaa.java
運行:java Aaa
這種最基礎的知識,去好好看看基礎書就明白了。多看書啊。
2. 如何用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!"了
3. java語言的編譯命令是 A.javac B.java C.javadoc D.d
編譯的命令是:A.javac
全稱應該是「java compilation 」
B.java是運行
C.javadoc是生成文本注釋(/***/)
D.d d就是d
4. 編譯java程序的命令是什麼,運行java應用程序的命令是什麼
當前默認目錄為C盤Users文件夾下的Administrator文件夾。一般而言,我們習慣改變當前目錄。由於windows有磁碟分區,若要跳到其他磁碟,例如E盤,有幾種方法:
1、輸入命令: pushd 路徑(此命令可將當前目錄設為所希望的任一個已存在的路徑)
2、輸入命令: e: 轉移到e盤,然後再輸入 cd 轉移到所希望的已知路徑。
希望在windows命令行下使用javac、java、javap等命令,那麼當前電腦必須安裝了jdk,並且將jdk的bin目錄添加到環境變數path下了。
拓展資料:
Java是一種編程語言,被特意設計用於互聯網的分布式環境。Java具有類似於C++語言的「形式和感覺」,但它要比C++語言更易於使用,而且在編程時徹底採用了一種「以對象為導向」的方式。
使用Java編寫的應用程序,既可以在一台單獨的電腦上運行,也可以被分布在一個網路的伺服器端和客戶端運行。另外,Java還可以被用來編寫容量很小的應用程序模塊或者applet,做為網頁的一部分使用。applet可使網頁使用者和網頁之間進行互動式操作。
5. 編譯Java程序的命令是:
javac {Java的類名}
如果Java類不在當前目錄下的話,類名前面還需要有類所在的路徑。
6. Java語言的編譯命令是什麼
javac
7. 如何使用命令行編譯以及運行java文件
(1)javac:作用:編譯java文件;使用方法: javac Hello.java ,如果不出錯的話,在與Hello.java 同一目錄下會生成一個Hello.class文件,這個class文件是操作系統能夠使用和運行的文件。
(2)java: 作用:運行.class文件;使用方法:java Hello,如果不出錯的話,會執行Hello.class文件。注意:這里的Hello後面不需要擴展名。
8. 編譯java程序需要使用什麼命令
編譯命令是 javac
首先使用記事本編輯一段簡單的Java代碼
9. 如何使用javac命令編譯java源程序
1.建文本文檔,輸入自己的java程序。
10. 編寫和運行Java程序的步驟是什麼每一步的結果是什麼在JDK中,Java語言的編譯命令是什麼急需答案啊。
將編寫的java源文件保存為.java後綴的文件(選擇所有文件)
在cmd命令行窗口中將當前目錄切換到java文件保存的目錄下,即cd命令
使用javac +文件名.java編譯java文件
使用java+類文件名(即編譯後產生的.class文件)運行程序