gcj/13


gcj

13. java.lang.Object#toString

クラス名を返すようにする。

java/lang/Object.java(追加)

	public native String toString();

java/lang/Object.h(追加)

gcjhで生成させたものを手動で追加。

  virtual ::java::lang::String *toString ();

Object.cc

gcjh -stubsで生成させたものを手動で編集。

#include <java/lang/Object.h>
#include <gcj/cni.h>

::java::lang::String* java::lang::Object::toString() {
	return (jstring)*((void**)(**(jobject**)this + 1) + 1);
}

java/io/PrintStream.cc(追加)

	public void print(Object obj) {
		print(obj.toString());
	}
	public void println(Object obj) {
		print(obj);
		println();
	}

A.java

import java.lang.*;
import java.io.*;

public class A {
	public static void main() {
		System.out.println(new Object());
		System.out.println(new System());
		System.out.println(new PrintStream(null));
		System.out.println(new A());
	}
}

実行結果

$ ./test.exe
java.lang.Object
java.lang.System
java.io.PrintStream
A

ここまでの作業結果: file13.zip

Monaでの実行

import java.lang.*;
import java.io.*;

public class A {
    public static void main() {
        System.out.println(new Object());
        System.out.println(new System());
        System.out.println(new PrintStream(null));
        System.out.println(new A());
        int[] a = new int[] { 5, 3, 1, 6 };
        for (int i = 0; i <= a.length; i++) {
            System.out.println(a[i]);
        }
    }
}
gcj.gif

gcj.tar.gz

コメント

コメントはありません。 コメント/gcj/13?

お名前:

MENU

now: 8

リンク


最新の20件
2018-10-07 2018-09-20 2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-05-29 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 3639, today: 1, yesterday: 0

添付ファイル: filegcj.gif 572件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:48:00 (3915d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.045 sec.