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

 C Discussion :

Utilisation d'une lib C++ avec un code C.


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 71
    Par défaut Utilisation d'une lib C++ avec un code C.
    Bonjour,

    Je développe une librairie utilisant OpenCL écrite en langage C++.

    Ma librairie est en C++ et ma seule fonction accessible de ma librairie est déclarée dans le .h de la manière suivante :

    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
    19
    20
    21
    22
    23
    24
    25
    26
     
    #ifdef __cplusplus
    extern "C" {
    #endif
    /* Declaration de la fonction utilisable depuis QPEC */
    extern int gpuQPEC_CORREL_BANDEAUX_LIGNE_DE_POINTS(
    		float	**A_ppd_buffer_bandeau_ref,
    		const int	A_i_hauteur_bandeau_ref,
    		const int	A_i_largeur_bandeau_ref,
    		float	**A_ppd_buffer_bandeau_sec,
    		const int	A_i_hauteur_bandeau_sec,
    		const int	A_i_largeur_bandeau_sec,
    		NAPPE_CORREL	*A_pn_tab_nappe_correl,
    		const int	A_i_taille_fenetre_explo,
    		const int 	A_i_nb_nappe_correl,	
    		const int	A_i_taille_fenetre_correl,
    		const int	A_i_nb_noeuds_a_traiter,
    		const int	A_i_position_premier_noeud_x,
    		const int	A_i_position_premier_noeud_y
    );
     
    #ifdef __cplusplus
    }
    #endif
     
    #endif
    Ma librairie est utilisée de 2 manières différentes, d'une part par un code écrit en C++. Dans ce cas là aucun soucis à l'execution.

    Dans un autre cas, par un code écrit en C, et dans ce cas là, j'ai un segmentation fault qui apparait lorsqu'OpenCL tente de faire un memcpy().

    Je pars de l'hypothèse que le problème viendrait du langage utilisé, mais ce n'est peut être pas la raison.

    Que puis-je pour en savoir plus sur les conditions de segmentation fault sur memcpy()?

    Que puis-je faire tout cours? !

    N'hésitez pas à me demander des précisions je ne veux pas surcharger mon post par les sources.

    Merci pour votre aide.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Citation Envoyé par Letinono Voir le message
    Je pars de l'hypothèse que le problème viendrait du langage utilisé, mais ce n'est peut être pas la raison.
    P'tet ben qu'oui, p'tet ben qu'non. Sauf à vouloir injecter des types non POD (en gros, des classes), dans du code C, la plus part du temps, ça ne devrait pas trop causer de problème à condition que le code C soit correct et vice-versa.
    Citation Envoyé par Letinono Voir le message
    Que puis-je pour en savoir plus sur les conditions de segmentation fault sur memcpy()?
    un mauvais pointeur en C comme en C++.

    Citation Envoyé par Letinono Voir le message
    Que puis-je faire tout cours? !
    Ça par exemple :
    Mais je doute que ça réponde à ton problème.
    Citation Envoyé par Letinono Voir le message
    N'hésitez pas à me demander des précisions je ne veux pas surcharger mon post par les sources.
    Ben, la ligne d'appel de la fonction qui fait planter. Ca permettra de commencer à tirer le fil.

Discussions similaires

  1. Utilisation d'une lib de code managé dans dll
    Par Larxene dans le forum C++/CLI
    Réponses: 6
    Dernier message: 06/05/2013, 23h22
  2. Réponses: 4
    Dernier message: 03/03/2010, 09h08
  3. [Wamp] Utilisation d'une dll VB avec php
    Par Tony_P dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 13/03/2007, 16h32
  4. utilisation d'une progress bar avec un timer
    Par devock dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/12/2006, 12h57
  5. comment fermer une fenêtre modale avec le code
    Par Sheriff dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 16/10/2006, 16h36

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