next up previous contents
Next: Les langages de programmation Up: Point de vue pratique Previous: Inclure les déclarations

Édition de liens avec du code provenant d'autres langages

Il est indispensable de pouvoir utilise du code provenant d'autres langages comme le C. Le mot-clé extern nom_langage permettra d'utiliser des fonctions d'autres langages que le C.

extern "C" int strcmp(const char *,const char *);
extern "C"{
   #include <math.h>
}
permet d'utiliser la fonction C strcmp et d'inclure le contenu de <math.h>gif

Pour utiliser qsort :

extern "C" void qsort(void *,size_t,size_t,int (*pf)(void const *,
            void const *));
// attention pf est un pointeur sur fonction C!
class Tab_Ch{
    char **tab;
    int taille;
public:
    void trier();
    /*...*/
};
int cmp(char *,char *); // comparaison entre elements
    
extern "C" typedef int (*CF)(void const *,void const *);
void Tab_Ch::trier(){
    qsort(tab,taille,sizeof(char *),(CF) tab_cmp);
}
/* alternative :
typedef int(*CPPF)(void const *,void const *);
extern "C" void qsort(void *, int , int ,CPPF);
*/




Mon Oct 20 14:02:48 MET 1997