Programmation XS [Perl] - Perl - Programmation
Marsh Posté le 12-08-2004 à 01:43:32
bon premier truc que j'ai fait à l'aide d'un exemple
|
Modifier le contenu du Time.xs
Code :
|
|
on test
|
Le résultat
|
une fonction time hyper précise
maintenant je cherche à comprendre le time.xs
Marsh Posté le 12-08-2004 à 15:15:18
pourkoi n'utilise tu pas Inline::C ?
ca donnerais un truc du genre :
Code :
|
ya juste à le lancer, ca compile (la premiere fois seulement, apres ca ne recompile que si il y a un changement) et on peu en mettre partout dans son code!
Marsh Posté le 12-08-2004 à 15:18:18
pospos a écrit : pourkoi n'utilise tu pas Inline::C ?
|
je connaissais simplement aps, mais jvais y jetter un oeil
Marsh Posté le 12-08-2004 à 16:04:02
bon ca répond plus ou moins au besoin
en gros je vais avoir besoin de me monter un set de librairie pour appeler les fonctions d'un serveur de fichier pas très répendu, et les script devront rouler sur tous les serveurs (meme sans compilateur)
donc je préfère me compiler une librairie et en faire des appels que de mettre le code C direct dans le perl
mais merci tout de meme pour l'idée
Marsh Posté le 12-08-2004 à 16:58:25
tu peux recuperer le XS généré par inline, ya une option comme ca
Marsh Posté le 02-10-2004 à 16:48:58
up
jsuis en train d'essayer de me faire un XS pour un module de process (procinfo.h)
le problème, c'est que j'ai X process, chaque process est un élément de struct procsinfo, et jsuis incapable de retourner le tableau complet des process
je sais pas trop comment traité ca, j'ai tenté des XPUSHs mais ca semble réservé à des types de bases (int, double, ...) et non à des struct
Marsh Posté le 04-10-2004 à 14:25:26
ben il faut que tu decompose ta structure, en creant un hash par exemple, et en remplissant chaque entrée avec avec hv_store.
Sinon regarde du coté de Convert::Binary::C ( http://search.cpan.org/~mhx/Conver [...] inary/C.pm )
avec ce truc tu passe directement ta structure et tu la depack dans ton script (apres avoir scanné le .h pour analyser ta structure). Ce sera surement plus rapide à l'execution
Marsh Posté le 05-10-2004 à 05:22:54
ouais j'ai compris qu'il fallait que je joue avec l'API de perl dans mon xs pour créer un hash
Marsh Posté le 11-08-2004 à 23:47:50
Bin voila, recherchant un max de fonctionnalité, je me suis lancé dans la comprésension de la programmation XS pour pouvoir me créer des librairies Perl à partir de librairie en C
j'ai tenté un truc au boulot tantot à l'aide d'un tuto, qui m'a permis de réécrire la fonction time() à partir de sys/time.h
donc je vais tentez d'ajouter à ce topic ce que j'apprends, si vous avez des conseils, des questions, posez les ici et on tentera de se démerder à plusieurs