While I don't trust everything that I find on CodeProject: http://www.codeproject.com/KB/system/64BitOSAndPortingIssues.aspx From which I quote: ========================================================================= Why 64-bit apps cannot load 32-bit Dll's & 32-bit apps load 64-bit Dll's
I mentioned earlier that 32-bit processes can't load 64-bit DLLs and 64-bit processes can't load 32-bit DLLs. You might be wondering why. By default, 64-bit applications can use 8 TB of user mode address space. You have the option to specify that all memory below 2 GB be allocated to the application. Because 32-bit DLL can't address memory space above 2GB, the thunk layer would have to copy all data into the low 2GB of the 64-bit application. Obviously, this won't work if the 64-bit application tries to pass a pointer to data that is larger than 2GB. Also 32-bit DLLs use x86 style exception handling and 4K pages. On an IA-64 processor, the native page size is 8K and the WOW64 emulator is responsible for simulating 4K pages. Because on an x86 machine exceptions do not "unwind" from user mode to kernel mode and back, WOW64 implements x86-style exception without switching from x86 code to IA-64 and back. Finally, another reason why 64-bit and 32-bit processes can't load each other's DLLs is that system DLLs (kernel32.dll, user32.dll, and gdi32.dll) expect only one instance per process, 32-bit or 64-bit. If a process contained more than one instance of, say user32.dll, Win32k.sys will not be able to distinguish between them and wouldn't know which one to call. So a 64-bit application must have all the Dll that are 64-bit. ========================================================================= It's not so much J's fault but Windows'. What some programs do is to run a 32 bit process which acts as a bridge. The aspects of the bridging are completely custom, though. > -----Original Message----- > From: [email protected] [mailto:programming- > [email protected]] On Behalf Of Martin Pelletier > Sent: Wednesday, August 04, 2010 4:15 PM > To: Programming forum > Subject: Re: [Jprogramming] SQLite3 and J602a 64bits > > My attempt: no > 'Data\sqlite' package: ??? > > Do you mean that J6 64 bit cannot call a 32 bit dll? Really? > > Martin Pelletier > > On 2010-08-04 10:08, bill lam wrote: > > Is that dll also 64-bit? > > > > Срд, 04 Авг 2010, Martin Pelletier писал(а): > > > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
