On Sun, 02 Mar 2008, Sisyphus wrote: > > However, it won't build on ActiveState's 64-bit build of perl > 5.10 (and 5.8.8). Are there any plans to get this module working > on the 64-bit builds ? ... or is this an unrealistic expectation ? > > On my Vista 64 box, I'm using the Microsoft Platform SDK for Windows > Server 2003 R2 compiler which, as I understand it, is the compiler > that was used to build the 64-bit versions of ActivePerl. But when I > try to build Win32-API-0.53 I get a number of warnings, followed by a > list of errors that begins with: > > API.xs(515) : error C4235: nonstandard extension used : '__asm' > keyword not supported on this architecture
None of the 64-bit compilers support inline assembly anymore. The VC++ team thinks that providing "intrinsic" is good enough: http://msdn2.microsoft.com/en-us/library/26td21ds.aspx I think a more realistic option would be to move the assembly code to a separate file and compile it using ml64.exe (a 64-bit version of good old MASM), also included in the 64-bit Platform SDK at this location: C:\Program Files\Microsoft Platform SDK\Bin\win64\x86\AMD64\ml64.exe I have no idea what else might be involved though; I haven't looked at the assembly level details of calling conventions in 64-bit mode, and if anything needs to be adjusted there as well. Cheers, -Jan