Thread XS Nachhilfe ... (14 answers)
Opened by J-jayz-Z at 2005-10-22 16:02

J-jayz-Z
 2005-10-22 16:02
#59134 #59134
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,

ich wollte mir gerade mal so mir nichts, dir nichts ein kleines XS Modul bauen, und irgendwie ist die *.xs Datei nicht das, was ich wollte...
Ich habe das Modul mit h2xs -A -n curse gebaut.
Daraufhin habe ich folgende Dateien bekommen:

Changes
curse.xs
Makefile.PL
MANIFEST
ppport.h
README
t/curse.t
lib/curse.pm

Die *.h Datei, die ich in *.xs haben will, heißt curse.h und funktioniert soweit einwandfrei. Nur hätte ich jetzt gerne, das die curse.h Datei irgendwie in die curse.xs Datei übersetzt wird, da ich von XS überhaupt keine AHnung habe.
Die curse.xs Datei sieht so aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

#include "ppport.h"

#include <curse.h>


MODULE = curse PACKAGE = curse


und wenn ich dieses Script aufrude:

Code: (dl )
1
2
3
4
5
6
7
#!/usr/bin/perl
use strict;
use warnings;

use curse ':all';

&curse::taste();


bekomme ich nur:
Undefined subroutine &curse::taste called at test.pl line 7.

Kann mir jemand sagen, wie ich die *.h Datei in die *.xs Datei umwandeln kann ? bzw. ist das überhaupt nötig ?
dank euch schonmal im Vorraus !
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de

View full thread XS Nachhilfe ...