> 
> ----- Original Message ----- 
> From: "Morihiro Miyazaki" <[EMAIL PROTECTED]>
> To: "Sisyphus" <[EMAIL PROTECTED]>
> Cc: <[email protected]>
> .
> .
> >> As an alternative, you could use Inline::C to access the dll functions on
> >> your 64-bit perl.
> >> (Or you could do it with XS.)
> 
> In case you're not familiar with Inline::C, you'll find an example of how to 
> access windows dll functionality in 'perldoc Inline::C-Cookbook' (towards 
> the end, in the section "Just Desserts").

Yes I'm not familiar wtih Inline::C. Now I prepare the environment for
it.
I'll try it.

> .
> .
> >
> > It's clear that trouble of building win32::API in 64-bit perl is caused
> > by the Inline Assembler which  cl.exe(compiler) doesn't support
> > in 64bit-environment.
> >
> 
> Yes. When I try to build Win32-API-0.46 I get the same as you, by the way.
> I wonder whether Visual Studio 2005 would be capable of building Win32::API 
> for the 64-bit ActiveState build of perl ? (I'm not about to check on that 
> ... you'd probably need the megabucks version anyway.)
You had tried to build Win32-API-0.46 , too.
In the source codes of API.xs, "__asm" codes of Inline Assembler are
written by as following:

#elif defined _MSC_VER
    /* Disable warning about one missing macro parameter.
       TODO: How we define a macro with an optional (empty) parameter? */
    #pragma warning( disable : 4003 )
    #define ASM_LOAD_EAX(param,type) { \
        __asm { mov eax, type param }; \
        __asm { push eax };            \
    }
 If the above codes could be converted to C codes by "x64 Intrinsics"
, the compiler problem will be got over.
 However,the source codes of CALLBACK.XS are written by Assembler level
coding. So another troubles will come up. 

 I would like to build Win32::API for 64-bit ActiveState build of
perl(5.8.8.822). However I feel quite a burden.

M. Miyazaki

_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to