Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

C/C++ appel de méthode en C

Nashouille, le mardi 12 avril 2005 à 18:20:34
Bonjour,

Je suis en train de modifier des fichiers en C pour construire une classe C++. J'ai donc transformé la plupart des fonctions C du fichier et je les ai inclus dans une classe. A priori à l'intérieur du même fichier il ne semble pas y avoir de soucis.
Mais le problème c'est qu'un autre fichier C essaie d'appeler une des fonctions que j'ai mis dans ma classe, qui est donc devenu une méthode. Et bien sur elle ne la trouve pas. Ca me semble assez logique qu'elle ne le trouve pas mais ça m'arrange pas du tout.
D'où ma question comment appeler une méthode C++ dans une fonction C?
Répondre à Nashouille  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Canard007, le mardi 12 avril 2005 à 18:30:11
heu j vais peu etre dire une connerie mais cela me parait impossible puisque c n'a aucune idée de ce qu'est une methode. COIN!
Répondre à Canard007

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kij_82, le mardi 12 avril 2005 à 19:39:12
lol,

Les canard sont de plus en plus pointilleux de nos jours...

Faut éventuelement passer par une instance de ta classe, non ?(si c comme en java !). Ou alors c'est que tu es trop flémard pour comprendre le programme que tu recopie, sinon tu aurais déjà changé celui-ci de manière à ce que ca marche, ;)

++
Répondre à kij_82

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Luffy =), le mardi 12 avril 2005 à 23:09:44
Salut =)

Oui, c'est comme en Java, il est nécessaire de passer par une instance, mais tu peux nous dire quelle est l'erreur de ton compilo exactement ? parce que "il ne la trouve pas" n'est pas très clair je trouve.

++
Répondre à Luffy =)

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
SKZ81, le mercredi 13 avril 2005 à 00:40:55
parce que "il ne la trouve pas" n'est pas très clair je trouve.

Ouaip... Erreur de compil', ou d'édition de lien ?

Je veux dire, est-ce que ton fichier ".c" compile, et c'est au moment de créer l'éxé que ça plante, ou bien direct sur le ".c" ???

Quand à :
Oui, c'est comme en Java, il est nécessaire de passer par une instance
Forcément... Une méthode d'instance possède un argument caché, qui correspond à this... Si on a pas d'instance, ce paramètre ne peut être initialisé, donc ça foire...
Je veux dire
  a->maMethode(b, d, e);
  // est en fait traduit en :
  maMethode(a, b, d, e);


Pour appeller du C++ depuis du C, le plus simple est de transcrire (à l'identique) ton fichier ".c" en ".cpp" et de le recompiler à la mode C++.

Il y a bien des astuces, style faire jouer le C99 (syntaxe très proche du C++), etc... Mais c'est finaud et loin d'être élégant. Sur le coup la "méthode bourrin" est plus adaptée. Tu veux faire du C++ ? Fais le jusqu'au bout.

Rien, en C++ N'OBLIGE à faire des classes. Tes modules C compileront parfaitement en C++, et te permettrons d'utiliser namespaces, classes, fonctions surchargées et autres.
Répondre à SKZ81

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nashouille, le mercredi 13 avril 2005 à 09:22:59
C'est à l'édition des liens que le bas blesse.
Je vais donc prendre la solution de tout passer en C++ , c'est compliqué mais bon si ça fonctionnne c'est le principal ;)
Répondre à Nashouille

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 SKZ81, le samedi 16 avril 2005 à 01:26:31
la solution de tout passer en C++ , c'est compliqué

Nan !!! Tu reprend le même fichier, tu change de nom, et tu met l'option qui va bien pour que le compilo traite du C++ et pas du C. N'IMPORTE QUEL programme C, à ma connaissance, doit pouvoir compiler en C++.

Tu rajoute juste l'include de la classe, et tu modifies les endrois où, du coup, tu utilises ta classe, et basta...

Mais si tu préfère tout passer en classe propres, je t'avoue, c'est toujours mieux !!!
Répondre à SKZ81
Java - L'accessibilité Le concept d'accessibilité (généralement appelé encapsulation) définit la possibilité qu'a le concepteur d'une classe de restreindre l'accès à certaines données, ou plus généralement à certains éléments (méthodes, classes, ...). En effet, les classes... www.commentcamarche.net/java/javaaccess.php3
La France appelée à faire de l'Europe des consommateurs une priorité(Paris - Relax news) - Le Bureau Européen des Unions de Consommateurs (BEUC), qui fédère plusieurs associations de défense des consommateurs dont l'UFC et la CLCV, appelle la France à profiter de la présidence de l'Union européenne pour construire une... www.commentcamarche.net/actualites/la-france-appelee-a-faire-de-l-europe-des-consommateurs-une-priorite-5846882-actualite.php3
Les inlines en C++Signification Exemple 1 Inline et headers Exemple 2 Signification Le mot clé inline est utilisé en C++ et s'applique à une fonction. Il indique au compilateur que chaque appel à la fonction inline devra être remplacé par le corps de cette... www.commentcamarche.net/faq/sujet-11250-les-inlines-en-c
Activer WindowsActiver Windows Activation par internet Activation par téléphone Comment appeler la procédure d'activation ? Licence considérée comme piratée Rappel sur le nombre d'utilisation de la licence par machine Sur le réseau Vous avez... www.commentcamarche.net/faq/sujet-5673-activer-windows
Modifier son fichier HostsPOURQUOI modifier le fichier Hosts ? COMMENT modifier le fichier Hosts ? Où se trouve le fichier Hosts original ? Que contient-il ? Méthode de modification Restaurer le fichier Hosts à son état d'origine POURQUOI modifier le fichier Hosts... www.commentcamarche.net/faq/sujet-5993-modifier-son-fichier-hosts
Appel d'un projet en Visual C++ .NET (Résolu)Bonjour, Je travaille avec Visual C++ .NET, et j'ai deux projets qui sont regroupés en un seul. Je cherche comment appelé l'un des deux deux projets à partir d'un autre projet que j'ai crée (Projet principale)? www.commentcamarche.net/forum/affich-5978411-appel-d-un-projet-en-visual-c-net
Localiser le lieu d'un appel (Résolu)Bonjour, Voilà ma question: J'ai régulièrement des appels commençant par 05-16-62..... je voudrais savoir depuis quelle ville est passé cet appel. 05-49: Vienne 05-55: Charente mais 05-16-62....?? Si qqn pouvait me répondre.... Merci d'avance www.commentcamarche.net/forum/affich-4058991-localiser-le-lieu-d-un-appel
Creation d'une fonction ss Excel (Résolu)Bonsoir a tous, voila , j'ai un petit souci sous excel, je desire ecrire une fonction qui me permettrait de changer la couleur d'une case en fonction de son contenu appelé depuis une cellule d'excel (la mise au format conditionnel ne... www.commentcamarche.net/forum/affich-2074377-creation-d-une-fonction-ss-excel
Télécharger PE BuilderPE Builder vous permet de créer un CD-Rom (ou un DVD) bootable (appelé BartPE) de Windows XP (SP1 minimum) ou Windows Server 2003 pour assurer facilement vos opérations de maintenance PC. Ce CD (appelé BartPE) vous permet de démarrer votre PC, et... www.commentcamarche.net/telecharger/telecharger-34055187-pe-builder
Überschall 80s Punk & New WaveÜberschall 80s Punk & New Wave,80 s ,Überschall 80s Punk & New Wave, DVD. VST/AU/RTAS Plug-In. Punk and so called: "New Wave" tracks with construction kit method phrases & loops. Inspired by only the rudest guitar driven LA Punk, NY Punk, UK Punk, Ska, Ha www.commentcamarche.net/guide-achat/uberschall-80s-punk-new-wave-379301460-fiche-technique
La chaîne Internet de la Wii disponible en version complète(Paris - Relaxnews) - Les possesseurs de la Wii peuvent désormais télécharger en version complète le navigateur Web de la console appelé Opera via la boutique en ligne de la Wii. Le contenu apparaîtra sous le nom de chaîne Internet dans le menu... www.commentcamarche.net/actualites/la-chaine-internet-de-la-wii-disponible-en-version-complete-2883010-actualite.php3
Les iPods pourraient causer le dysfonctionnement des "pacemakers"(Paris - Relaxnews) - Le plus vendu des baladeurs numériques, l'iPod, pourrait nuire au bon fonctionnement des stimulateurs cardiaques, plus communément appelés "pacemakers". D'après une étude présentée par un jeune étudiant de 17 ans, Jay Thaker,... www.commentcamarche.net/actualites/les-ipods-pourraient-causer-le-dysfonctionnement-des-pacemakers-2975700-actualite.php3
E-Business - Knowledge Management (KM) On appelle « Knowledge Management » (noté KM, en français management des connaissances ou management par les connaissance) les méthodes et outils logiciels permettant d'identifier, de capitaliser les connaissances de l'entreprise afin notamment de... www.commentcamarche.net/entreprise/km.php3
E-Business - Groupware On désigne par le terme de "Groupware" (en français Collectique) les méthodes et les outils logiciels (appelés collecticiels ou plus rarement synergiciels) permettant à des utilisateurs de mener un travail en commun à travers les réseaux. Ainsi le... www.commentcamarche.net/entreprise/groupware.php3
ASP - Les objets des Active Server Pages ASP, dans sa version 3.0, est architecturé autour de 6 objets internes comprenant des méthodes permettant d'effectuer les principaux traitements sur les données. Ces objets constituent ce que l'on appelle le modèle objet. Ces objets sont : L'objet... www.commentcamarche.net/asp/asp-objets.php3
Toutes les réponses pour « C/C++ appel de méthode en C »