use Perl Log In
Win32::API port to 64-bits
I've been the current maintainer of Win32::API for some years now. I am proud to be working on such a useful module, at least for Windows people. I even managed once to build it under Linux/winegcc.
Lately, I've been receiving user requests about porting it to 64-bit architectures. While this is something I want to do, I might have some problems. Mainly, my lack of knowledge about porting 32-bit stuff to 64-bits under Windows. Luckily, there seems to be available information and enough interested users that can provide help, code, hardware and/or licenses.
So, if you are in any way interested in helping out or staying tuned on the 64-bit port of Win32::API, please join the libwin32 mailing list. I'm going to post some more details there.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.

x64 Perl (Score:2)
http://msdn.microsoft.com/en-us/library/wbk4z78b.aspx [microsoft.com]
Re: (Score:2)
Win32::API however does use inline-assembly and therefore needs to be changed to either move the assembly code into separate files to be processed by an assembler, or needs to use the new intrinsic functions in newer versions of VC++.
Feel free to join libwin32@perl.org to discuss the details. :)
Re: (Score:1)
The calling conventions are also very different - Win32 uses a purely stack parameter passing convention, while x64 uses the standard amd64 parameter passing convention - with the first four parameters going into registers if possible.
For example:
GetTextFace(dc, sizeof(facename), facename)compiles to:
; look Ma! No stack!
lea r8, OFFSET FLAT:facename
mov edx, 80 ; 00000050H
mov rcx, QWORD PTR dc
call QWORD PTR __imp_GetTextFaceA
Win32::API port to 64-bits (Score:1)
"If you were supposed to understand it, we wouldn't call it code." - FedEx
Re: (Score:2)
Seriously, changing the module name would be very bad for writing portable scripts because you would then have to import different modules depending on the native size of your pointers. That's something you don't really care about at the Perl level.
Re: (Score:1)
"If you were supposed to understand it, we wouldn't call it code." - FedEx