I believe the "bigfiles" code - check the wiki - deals with this issue by passing a pair of integers for 64-bit addresses (albeit file, not memory, addresses).
On Mon, Nov 3, 2008 at 10:04 AM, Jean-Philippe Doiron <[EMAIL PROTECTED]>wrote: > I'm running it now with this test, I'll see in 30 - 60 min how it is going, > I'll keep you updated. > > Regards > > Jean-Philippe D > Soft dev. > Infodev EDI > > > David Mitchell wrote: > >> Hi Jean-Philippe, >> >> Perhaps you want to use + i * * l l l for long ints. >> >> -- >> Regards >> David Mitchell >> >> Jean-Philippe Doiron wrote: >> >>> Hi everyone, >>> >>> I'm having a sporadic problem white pointer address between J and c++. >>> >>> I'm running a J64-602 that call some function from a DLL written in c++ >>> compiled for x64. >>> >>> The call look like this. >>> >>> llxutm =: '"D:\Infodev\c++\RecDLL\x64\release\RecDLL.dll" LL2UTM + >>> i * * i i i'&cd >>> >>> adrY =: mema (#la)*8 >>> adrX =: mema (#lo)*8 >>> >>> NB. calling conversion >>> llxutm la;lo;adrX;adrY;(#la) >>> >>> utmx =: _3 ic memr adrX,0,(#la)*8 >>> utmy =: _3 ic memr adrY,0,(#la)*8 >>> memf adrX >>> memf adrY >>> >>> C++ prototype: >>> DllExport int LL2UTM(double *plat, double *plon,unsigned __int64 *px >>> ,unsigned __int64 *py,unsigned __int64 cnt); >>> >>> In short, I'm allocating memory for the return value in J (mema), C is >>> calculating the value, and fill in the memory allocated by J. Then J read >>> the value and free the memory.. pretty straightforward. >>> >>> This call is made about 500 000 to 1 000 000 times, and once in a while >>> (once every 25000 - 50000 call). J create a memory allocation somewhere over >>> the 2^31 boundary . Example : 2552889360 , And then this address is passed >>> to C. But when C received it, it look like this : -1742077936 >>> (0xffffffff982a0010). >>> >>> This is way below the 2^64 boundary. I'm wondering if J call the DLL >>> passing 64bits value correctly, Or if I'm doing something wrong. >>> >>> This worked like a charm on 32 bits architecture with a J32. >>> >>> I' running a Windows XP 64 pro SP2, on a Intel Quad Q6600 64bits, 4GB >>> ram. >>> >>> regards >>> >>> Jean-Philippe D. >>> Software Dev. >>> Infodev EDI >>> >>> ---------------------------------------------------------------------- >>> 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 > -- Devon McCormick, CFA ^me^ at acm. org is my preferred e-mail ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
