From: <kir...@wi...> - 2004-05-21 14:47:46
|
I downloaded the latest java-gcc package from mingw site today. I was trying to evaluate gcj on java GUI applications program. But it somehow appeared that gcj still dos not support GUI framework. I did=20 gcj --main=3Dx x.java This generated a.exe When I run a.exe, I get the error UIDefaults.getUIError: failed to locate UI class:JPanel created the glasspane: javax.swing.JPanel[JPanel] Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: *** Got java.lang.NullPointerException while trying to print stack trace. I also tried using the ---classpath=3D%CLASSPATH% option. (I had set my env variable CLASSPATH correctly) But the error message was similar. However when I tried on a simple "hello world" java console program, it worked. The generated a.exe worked correctly. So is GUI supported as of now ? Thanx Kiran -----Original Message----- From: min...@li... [mailto:min...@li...] On Behalf Of SourceForge.net Sent: Friday, May 21, 2004 7:49 PM To: no...@so... Subject: [Mingw-users] [mingw - StupidTechiQuestions] RE: MinGW calling conventions Read and respond to this message at:=20 https://sourceforge.net/forum/message.php?msg_id=3D2580348 By: dansofo Thank you very much for your reply. > No, that is not right. (...) > __stdcall pushes arguments from right to left.=20 > The difference between __cdecl is who in responsible for pop up the arguments. Of course, you are right and I was wrong. (I erred in my tests because of the change in the definition of CALLBACK between win16 (_far _pascal) and win32(__stdcall), the redefinition of __pascal in MinGW, and a wrong documentation) > The program did not crash on mismatch because the ESP is restored from EBP=20 > when the function returns. You will not be so lucky when the=20 > -fomit-frame-pointer optimization is used. I was not aware of this behavior of GCC and of this option. Thus, is it correct that if I push myself arguments (with asm) for a __cdecl call, I must NOT adjust the stack after the call, otherwise crash ? > __pascal is simply defined to __stdcall.=20 That depends upon the compiler. In Cbuilder, pascal and PASCAL are redefined as __stdcall only #if (!defined(_MAC)) && ((_MSC_VER >=3D 800) || defined(_STDCALL_SUPPORTED)) I don't know about _pascal and __pascal. However, I am able to build a true __pascal routine (left to right) in a CBuilder DLL. Now, the problem with the redefinition of __pascal in MinGW is: how do I call it ?? > And I guess the stack trick did not work because of the same reason why you program did not crash. I thing you guess perfectly well. > Please do not mail to me personally. Thanks. I apologize. I will not do it again.(I was not sure that you check this forum regularly.) Daniel ______________________________________________________________________ You are receiving this email because you elected to monitor this forum. To stop monitoring this forum, login to SourceForge.net and visit:=20 https://sourceforge.net/forum/unmonitor.php?forum_id=3D7134 ------------------------------------------------------- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick _______________________________________________ MinGW-users mailing list Min...@li... You may change your MinGW Account Options or unsubscribe at: https://lists.sourceforge.net/lists/listinfo/mingw-users |