in reply to length of pack 'J' and Win64/Win32 C data type model, pointer length, DWORD_PTR

No. "J" is 64 bits on a Perl built with 64-bit integer support, and I believe you can have that in a 32-bit binary (and therefore Win32).

Seems to me you'd want to use "I" if you wanted the pointer itself or "p" if you want what's at the pointer.

  • Comment on Re: length of pack 'J' and Win64/Win32 C data type model, pointer length, DWORD_PTR

Replies are listed 'Best First'.
Re^2: length of pack 'J' and Win64/Win32 C data type model, pointer length, DWORD_PTR
by syphilis (Archbishop) on Nov 07, 2010 at 18:15 UTC
    Haven't yet come across a Win32 (32-bit) perl built with 64-bit integer support - but yes, with the right hacks applied to the perl source, it should be possible to build such a perl.

    Cheers,
    Rob

      I'd hardly call a configuration option a hack. (I realise the procedure is different on Windows, but elsewhere it simply involves passing -Duse64bitall to Configure.)

        I'd hardly call a configuration option a hack

        Neither would I. (I chose the word carefully and deliberately.)

        The makefiles that ship with the source don't accommodate the option of building 64-bit integers into a 32-bit perl ... afaik you'd have to do some non-trivial hacking.

        Cheers,
        Rob