XSってなんか難しそうと思っていたけど、わりと簡単だった。
Windows 7 64bit + Strawberry Perl 5.12.3.0
printfするだけなので実用性はないけども、
引数を受け取って処理できるようになってくると、捗りそう。
CODE部分はC言語でもりもり書けますし。
Hello.pl
#!/usr/local/bin/perl use strict; use warnings; use lib('./Hello/lib', './Hello/blib/arch/auto/Hello'); use Hello; Hello::world();
Hello.xs
#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include <stdio.h> MODULE = Hello PACKAGE = Hello int world() CODE: RETVAL = printf("Hello World"); OUTPUT: RETVAL
Hello.bat
@echo off rmdir /S /Q Hello cmd /c h2xs -b 5.8.8 -A -n Hello copy /Y Hello.xs Hello cd Hello perl Makefile.PL dmake cd ../ perl Hello.pl
当然だけど、Linuxでも同じコードで動く。
Hello.sh
#!/bin/sh rm -rf Hello h2xs -b 5.8.8 -A -n Hello cp -f Hello.xs Hello cd Hello perl Makefile.PL make cd ../ perl Hello.pl