IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Appeler du perl depuis du C ?


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Par défaut Appeler du perl depuis du C ?
    Bonjour,
    Je cherche à lancer un script perl depuis un programme C avec une chaine de caractère en argumant. J'ai trouver des choses sur le net mais rien qui compile

    fichier main.c:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #include <EXTERN.h>
    #include <perl.h>
    #include <stdio.h>
    #include <stdlib.h>
    static PerlInterpreter *my_perl;
     
    main(int argc, char *argv[]){
            char *args[] = { NULL };
            my_perl = perl_alloc();
            perl_construct(my_perl);
     
            perl_parse(my_perl, NULL, argc, argv, NULL);
            perl_call_argv("truc", G_DISCARD | G_NOARGS, args);
     
            perl_destruct(my_perl);
            perl_free(my_perl);
    }
    fichier truc.pl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/usr/bin/perl -w
    use strict;
     
    print "\n hello world !\n";
    Commande pour compiler:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cc main.c  -o main -O2 -Dbool=char -DHAS_BOOL 
    -I/usr/local/include
     -I/usr/lib/perl/5.14/CORE 
    -L/usr/lib/perl/5.14/CORE
    Erreurs renvoyées:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    error: undefined reference to 'perl_alloc'
    function main: error: undefined reference to 'perl_construct'
    function main: error: undefined reference to 'perl_parse'
    function main: error: undefined reference to 'Perl_call_argv'
    post4.c:function main: error: undefined reference to 'perl_destruct'
    function main: error: undefined reference to 'perl_free'
    Si vous connaissez une autre solution je suis aussi prenneur.
    merci.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 167
    Par défaut
    Bonjour,
    Si le système d'exploitation est Windows, on doit pouvoir utiliser la
    fonction "ShellExecute", pour les détails voir :
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Par défaut
    non sur un linux, mais c'est le même combat il y a system("");
    Du coup j'ai fait un fork pour l'exécuter en parallèle et ça marche.

    Résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler un service web perl depuis java
    Par Mac2411 dans le forum Web
    Réponses: 1
    Dernier message: 13/05/2010, 18h54
  2. Appeler script perl depuis php/html
    Par wopsy dans le forum Web
    Réponses: 8
    Dernier message: 30/09/2009, 09h46
  3. appeler un script perl depuis un script perl
    Par wizaord dans le forum Langage
    Réponses: 3
    Dernier message: 21/02/2007, 09h51
  4. [PERL et JAVA] Appeler PERL depuis JAVA
    Par krusty dans le forum Modules
    Réponses: 4
    Dernier message: 05/04/2006, 21h49
  5. appel programme externe depuis pl/sql
    Par txouki dans le forum PL/SQL
    Réponses: 6
    Dernier message: 11/05/2004, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo