Thank you Stefano. OK, guess I'll be looking for a wrapper, making one, 
or recompiling SQLite3.

The 'data\sqlite' package, though, might need to be updated to accommodate.

Martin Pelletier

On 2010-08-04 10:18, Stefano Lanzavecchia wrote:
> 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


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to