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

VC++ .NET Discussion :

Utiliser du code en C dans du C++


Sujet :

VC++ .NET

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut Utiliser du code en C dans du C++
    Bonjour a tous,
    Toujour dans ma volonté de numériser un doc avec un scann via le pilote TWAIN je cherche a utiliser un fichier codé en C dans mon programme C++.
    Pour le pilote TWAIN j'ai trouvé une librairie (FayaTwain.dll). Cette librairie n'est ni fournie avec le fichier d'en-tete(.h) ni le fichier .lib.
    Cependant sur le site www.faya.fr les developpers proposent une archive (csharp.sample.1.3.5.zip)dans laquelle se trouve deux fichier, faya.cs et fayatwain.cs, codés en C qui permettent d'utiliser la librairie.

    Je voudrais utiliser ces fichiers pour utiliser la librairie dans mon programme qui est lui en C++. Comment faire ? Serait ce difficile de les traduire en C++? et si oui, serait-ce utile pour pouvoir utiliser ensuite la librairie?Les deux fichiers en question sont ils les equivalents C des .lib et .h qu'il faut en C++?
    J'ai vu dans la FAQ que l'on peut utiliser du C en C++ grace a :
    extern "C" {

    }

    Est ce que ca peut me servir à quelque chose? Si oui de quelle manière ?

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    c'est pas du C, c'est du C#
    tu peux t'en servir comme une assembly classique, peut importe le langage dans laquelle elle a été écrite
    tu as juste à la référencer comme déjà expliqué et comme écrit dans la faq, avec using ou dans les références du projet

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    Ca peut vous sembler bete comme question mais c'est quoi du C# ?

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Un langage mis au point par Microsoft pour .Net.
    Utilisable avec Visual Studio 2005 non-express ou Visual C# 2005 Express.
    La syntaxe est plus proche de java que du C++ (même si J#, un autre langage .Net, est encore plus proche de java), et ce langage est particulièrement adapté à .Net.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    J'ai visual c++ express edition 2005 : ca va passer ??

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Citation Envoyé par Celui qu'on ne lit pas
    Visual Studio 2005 non-express ou Visual C# 2005 Express
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    Je repose ma question différement : j'ai visual c++ express edition 2005. Je souhaite utiliser ces fichiers en C#, que j'ai cité plus haut, dans mon programme en C++ avec VC++ express. Est il possbile pour moi d'utiliser les fichiers en question ?

    edit : ce n'est pas "celui que l'on ne lit pas" mais "celui qui s'exprime mal" : si pour toi tout est évident sache que ce ne l'est pas pour tout le monde! Si les gens posent des questions dans ces forums c'est parce qu'ils sont perdu, donc il faut détailler tes réponses même si pour toi c'est évident. Je n'ai rien contre toi mais le but de ces forums est d'aider les gens et non de les déséspérer encore plus qu'ils ne le sont.

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ce n'est pas "celui qui s'exprime mal" mais "celui qu'on ne fait pas l'effort de comprendre". Si je précise Visual 2005 Non-Express et Visual C# Express, c'est que ça ne marche pas avec Visual C++ Express, voyons!
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    Donc je n'ai pas possibilité d'utiliser les dits fichiers dans mon prog.
    Autre question : quelle licence choisir de visual studio pour développer en C++ avec des bouts de code C# ; ici par exemple ils en proposent plusieurs http://www.ebizcuss.com/DIVERS/reche..._creation+desc ,laquelle est la plus adapté à mes besoins selon vous ?

  11. #11
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    tu peux utiliser la librairy compilée en temps que référence

  12. #12
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    Citation Envoyé par nico-pyright(c)
    tu peux utiliser la librairy compilée en temps que référence
    C'est a dire ?!

  13. #13
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    comme je te l'ai déjà dit plusieurs fois, par ajout de référence ou par using , comme écrit dans la faq http://dotnet.developpez.com/faq/cpp...al#refassembly
    à partir du moment bien sur où ils te fournissent l'assembly .dll

  14. #14
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    Comme je l'ai deja dit plusieur fois : je possede ces trois fichiers :
    _ FayaTwain.dll qui est dispo sur le site
    _ faya.cs
    _ et fayatwain.cs
    Qu'est ce que je dois faire ? (merci de détailler)

  15. #15
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    utiliser FayaTwain.dll (si c'est bien l'assembly correspondante) et la référencer en allant dans les propriétés du projet --> common properties --> references --> add new reference.

  16. #16
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    D'après Medinoc cette lib est une native : cela a t il une impacte?

  17. #17
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ah oui, c'est si c'est une lib native, ca ne marchera pas. Et il faudra compiler les .cs avec visual C# express (téléchargeable gratuitement) pour obtenir l'assembly adéquate.
    Je n'ai pas regardé ces fichiers, ce sont uniquement des constatations générales

  18. #18
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    Cela te derangerai t il de regarder les fichiers .cs et me dire si c'est de l'ordre du faisable ?
    Merci d'avance

  19. #19
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    après avoir regardé, ce n'est pas une version .cs de la bibliothèque, ce qui me parait logique après avoir vu que c'est une version payante

    c'est donc une dll native, l'avantage est que dans le fichier .cs, tu as toute les déclarations en dllimport.

    Donc, la solution est d'utiliser la dll depuis ton projet .net avec les déclarations dllimport

  20. #20
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Les déclarations dllimport en C#, j'ai bien peur que la plupart ne soient pas directement utilisables en C++/CLI : Il faudra les traduire d'abord...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Utilisation du code MATLAB dans environnement .NET
    Par SOPRA-Eherve dans le forum MATLAB
    Réponses: 5
    Dernier message: 28/11/2006, 12h43
  2. Réponses: 6
    Dernier message: 06/11/2006, 17h57
  3. [C# 2.0] Utiliser using n'importe ou dans le code ?
    Par dymezac dans le forum ASP.NET
    Réponses: 7
    Dernier message: 20/09/2006, 15h52
  4. Utiliser du code SQL dans VBA
    Par a2line dans le forum Requêtes et SQL.
    Réponses: 25
    Dernier message: 30/05/2006, 14h53
  5. [CR] Utilisation de codes à barres dans crystal
    Par franck.cvitrans dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 29/06/2004, 08h48

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