gcj/質問箱


gcjでの開発にまつわる質問を受け付けます。

お願い

質問の際には以下のことを守っていただくようお願いします。

  1. 引用は自動改行されないため、横に長くなるとページが変形してレイアウトが崩れるので、引用は適当な所(半角80文字推奨)で改行する。
  2. 問題箇所の引用だけでなく、CVSと切り離した、再現する最低限のソースを添付する。
  3. プラットフォームに依存しないように問題を切り分けて、Windowsでも再現するかどうか必ず確認する。
  4. 必ず-gを付けてコンパイルする。stripしない。(デバッグ時のみ)

DLL化の弊害

javamain.cpp

#include <sms_gc/sms_gc.h>
#include <gcj/cni.h>
#include <java/lang/Class.h>
#include <java/lang/Object.h>
#include <java/lang/String.h>
#include <monapi.h>

class Main
{
public:
    static void main(jstringArray args);
};

int MonaMain(List<char*>* pekoe) {
    SMS_GC_INIT();
    JvCreateJavaVM((void*)Main::main);
    int argc = pekoe->size();
    jstringArray args = (jstringArray)JvNewObjectArray
        (argc, &::java::lang::String::class$, NULL);
    for (int i = 0; i < argc; i++)
        elements(args)[i] = JvNewStringUTF(pekoe->get(i));
    Main::main(args);
    return 0;
}

::java::lang::Class java::lang::Object::class$;
::java::lang::Class java::lang::String::class$;

Main.java

import java.io.File;

public class Main {
    public static void main(String[] args) {
    }
}

エラーメッセージ(--disable-auto-import あり)

g++ -c -o java_main.o -nostdlib -Wall -fno-builtin -O3 -DMONA -DDEBUG_BUILD -DHO
ST_CYGWIN -fno-exceptions -fno-rtti -I../../../include -I../../../src/lib/java j
ava_main.cpp
ld --Map HELLO.map --disable-auto-import -o HELLO.EXE ../../../lib/monapi.o java
_main.o   Main.o -L../../../lib -ljava-imp -lsms_gc-imp -lmonalibc-imp -lmonapi-
imp
ld: warning: cannot find entry symbol _mainCRTStartup; defaulting to 00401000
Main.o:Main.java:(.data+0x80): undefined reference to `vtable for java::lang::Cl
ass'
make: *** [HELLO.EXE] Error 1

エラーメッセージ(--disable-auto-import なし)

g++ -c -o java_main.o -nostdlib -Wall -fno-builtin -O3 -DMONA -DDEBUG_BUILD -DHO
ST_CYGWIN -fno-exceptions -fno-rtti -I../../../include -I../../../src/lib/java j
ava_main.cpp
ld --Map HELLO.map  -n --image-base=0xa0000000 -e _user_start -o HELLO.EXE ../..
/../lib/monapi.o java_main.o   Main.o -L../../../lib -ljava-imp -lsms_gc-imp -lm
onalibc-imp -lmonapi-imp
Info: resolving __ZTVN4java4lang5ClassE by linking to __imp___ZTVN4java4lang5Cla
ssE (auto-import)
ertr000003.o:: undefined reference to `_pei386_runtime_relocator'
make: *** [HELLO.EXE] Error 1

vtableってどうやって書いたらいいのかな orz

コメント

コメントはありません。 コメント/gcj/質問箱?

お名前:

未解決参照

java/awt/TextComponent.o:TextComponent.java:(.text+0x8b): undefined reference
to `_Jv_LookupInterfaceMethodIdx'
java/awt/TextComponent.o:TextComponent.java:(.text+0x14d): undefined reference
to `_Jv_IsInstanceOf'
make: *** [JAVA.DLL] Error 1

怪しそうな個所(TextComponent.java)

	public void processEvent(AWTEvent e) {
		if (e.isConsumed() == false) {
			if (e instanceof TextEvent) {
				processTextEvent((TextEvent)e);
			} else {
				super.processEvent(e);
			}
		}
		e.consume();
	}
	public void processTextEvent(TextEvent e) {
		for (int i = 0; i < this.textListenerList.size(); i++) {
			TextListener l = (TextListener)this.textListenerList.get(i);
			if (e.isConsumed() == false) {
				l.textValueChanged(e);
			}
		}
		e.consume();
	}

instanceof なんてどうやって実装しようか・・

コメント

コメントはありません。 コメント/gcj/質問箱?

お名前:

MENU

now: 3

リンク


最新の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: 3796, today: 2, yesterday: 1

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

Last-modified: 2008-03-28 (金) 15:48:00 (3856d);  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.077 sec.