可以在這邊下載 http://code.google.com/p/betaradio/downloads/list
有問題可以回報到 http://code.google.com/p/betaradio/issues/list
ubuntu 應該也可以裝吧~ @.@a
感謝 kanru 的大力幫忙~~~ ^o^
GNU/Linux, Debian/Ubuntu, Mac OS X, Free Software/Open Source Software, Freeware, and Programming.
2007年7月24日 星期二
2007年7月14日 星期六
喵的勒... 被 ubuntu 的 /bin/dash 錶到了... >"<
原本用 bash 的 /bin/sh 可以跑的 script 在 dash 的 /bin/sh 就不能跑了~ 會出現 "Syntax error: redirection unexpected" 的錯誤訊息~ >"<
Ubuntu 為了加速開機的速度使用了 dash 來取代傳統的 bash
/bin/sh -> /bin/bash 改成了 /bin/sh -> /bin/dash
雖然說 dash 體積有比較小開機時速度也比較快
但是在開機之後使用某些原本在 bash 環境可以正常使用的 script
換到了 dash 之後反而會出現一些莫名其妙的問題
對於想在 Ubuntu 上面開發程式的人會是一件非常討厭的事情
暫時的解決辦法就是設成 /bin/sh -> /bin/bash
為了加速開機的速度反而在其他地方產生了問題
反正改變傳統一定是會帶來問題的
遇到新問題再想個辦法來解決
Ubuntu 為了加速開機的速度使用了 dash 來取代傳統的 bash
/bin/sh -> /bin/bash 改成了 /bin/sh -> /bin/dash
雖然說 dash 體積有比較小開機時速度也比較快
但是在開機之後使用某些原本在 bash 環境可以正常使用的 script
換到了 dash 之後反而會出現一些莫名其妙的問題
對於想在 Ubuntu 上面開發程式的人會是一件非常討厭的事情
暫時的解決辦法就是設成 /bin/sh -> /bin/bash
為了加速開機的速度反而在其他地方產生了問題
反正改變傳統一定是會帶來問題的
遇到新問題再想個辦法來解決
2007年7月5日 星期四
Java 的外部命令
import java.io.*;
...
try {
Process p = Runtime.getRuntime().exec("ls");
String line;
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null)
System.out.println(line);
input.close();
} catch (IOException e) {
...
}
...
基本又實用... 先記下來... :P
2007年7月3日 星期二
JNI - Java Native Interface
The Java Native Interface (JNI) is a programming framework that allows Java code running in the Java virtual machine (VM) to call and be called by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages, such as C, C++ and assembly.
... from the link
HelloWorld.java
然後使用 javac HelloWorld.java 產生出 HelloWorld.class
接下來再使用 javah HelloWorld 產生出 HelloWorld.h
HelloWorld.h
再把 HelloWorld.c 寫出來
HelloWorld.c
最後使用 gcc -Wall -g -shared -fPIC HelloWorld.c -o libHelloWorldImp.so
現在終於可以執行 Java 程式了
java -Djava.library.path=./ HelloWorld
使用 Java 來做跨平台程式開發
在關鍵部份再利用 JNI 來將平台特性最佳化
... from the link
HelloWorld.java
class HelloWorld
{
public native int[][] multiply(int A[][], int B[][]);
static
{
System.loadLibrary("HelloWorldImp");
}
public static void main(String[] args)
{
HelloWorld test = new HelloWorld();
int[][] A = new int[5][5];
int[][] B = new int[5][5];
int[][] result = test.multiply(A, B);
System.out.println(result[0][0]);
}
}
然後使用 javac HelloWorld.java 產生出 HelloWorld.class
接下來再使用 javah HelloWorld 產生出 HelloWorld.h
HelloWorld.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#ifndef __HelloWorld__
#define __HelloWorld__
#include
#ifdef __cplusplus
extern "C"
{
#endif
JNIEXPORT jobjectArray JNICALL Java_HelloWorld_multiply (JNIEnv *env, jobject, jobjectArray, jobjectArray);
#ifdef __cplusplus
}
#endif
#endif /* __HelloWorld__ */
再把 HelloWorld.c 寫出來
HelloWorld.c
#include "HelloWorld.h"
JNIEXPORT jobjectArray JNICALL Java_HelloWorld_multiply (JNIEnv *env, jobject obj, jobjectArray A, jobjectArray B);
{
jobjectArray C;
...
return C;
}
最後使用 gcc -Wall -g -shared -fPIC HelloWorld.c -o libHelloWorldImp.so
現在終於可以執行 Java 程式了
java -Djava.library.path=./ HelloWorld
使用 Java 來做跨平台程式開發
在關鍵部份再利用 JNI 來將平台特性最佳化
訂閱:
文章 (Atom)