Schrift
[thread]7124[/thread]

C-modul in perl einbinden



<< >> 5 Einträge, 1 Seite
supersucker
 2005-07-11 16:49
#56278 #56278
User since
2005-03-17
118 Artikel
BenutzerIn
[default_avatar]
hi zusammen,

ich stehe vor dem problem, dass ich ein c-modul (oder heisst das in C nicht modul?) in perl einbinden möchte und von C wirklich überhaupt keine ahnung habe.

was ich machen möchte ist sowas wie:

Code: (dl )
1
2
3
4
5
6
7
8
#!/usr/bin/perl

use strict;
use warnings;

# -------hier viel perl -code --------

my ($a, $b, $c, $d) = mein_C_Modul($x,$y,$z);


ich möchte also einfach ein bestehendes C-modul einmalig in perl aufrufen.

hab jetzt schon mal hier im forum gekuckt und gegoogelt, bin mir jetzt nur nicht sicher was ich dafür nehmen soll.
was ich bisher gefunden hab wäre:

-> Inline::C
-> XS

gibt es noch andere alternativen? was würdet ihr für sowas nehmen?

danke für alle anregungen im voraus....
murphy
 2005-07-11 17:12
#56279 #56279
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Für eine schnelle Lösung empfiehlt sich vermutlich Inline::C. Will man wiederverwendbaren Code als Modul haben, sollte man sich die Mühe machen, einen XS-Wrapper zu erstellen.
When C++ is your hammer, every problem looks like your thumb.
betterworld
 2005-07-11 17:12
#56280 #56280
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Hast Du schon perldoc perlxs/perlxstut/perlguts und so weiter gelesen?\n\n

<!--EDIT|betterworld|1121087601-->
supersucker
 2005-07-11 17:32
#56281 #56281
User since
2005-03-17
118 Artikel
BenutzerIn
[default_avatar]
ja,

die xs-geschichten hab ich mir mal angeschaut, bzw. mal kurz überflogen, das ich aus zeitmangel wirlklich nach einer "schnellen" lösung gesucht habe....

werd mir jetzt mal inline::C genauer anschauen....
ptk
 2005-07-11 22:34
#56282 #56282
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Da Inline::C XS-Code erstellt, kann man es zum erstmaligen Erstellen des .xs verwenden.
<< >> 5 Einträge, 1 Seite



View all threads created 2005-07-11 16:49.