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 :

le code tiré de MSDN ne compile pas


Sujet :

VC++ .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut le code tiré de MSDN ne compile pas
    salut à tous

    je viens de passer sur Visual studio 2003 et le code suivant en C++ ne compile pas. je voulais me faire la main sur les threads en repartant d'un exemple tout fait tiré de msdn.

    je pense qu'il s'agit d'un probleme de lien vers les bibliotheques ou qqch comme ca mais je suis totalement debutant sur visual.

    thread.cpp

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    #include "stdafx.h"
    # include "thread.h"
    #using <mscorlib.dll>
     
    using namespace System;
     
    int _tmain(){
     
       Console::WriteLine( "Main thread: Start a second thread." );
     
       // Create the thread, passing a ThreadStart delegate that
       // represents the ThreadExample::ThreadProc method.  For a 
       // delegate representing a static method, no object is
       // required.
       Thread^ oThread = gcnew Thread( gcnew ThreadStart( &ThreadExample::ThreadProc ) );
     
       // Start the thread.  On a uniprocessor, the thread does not get 
       // any processor time until the main thread yields.  Uncomment
       // the Thread.Sleep that follows t.Start() to see the difference.
       oThread->Start();
     
       //Thread::Sleep(0);
       for ( int i = 0; i < 4; i++ )
       {
          Console::WriteLine(  "Main thread: Do some work." );
          Thread::Sleep( 0 );
     
       }
       Console::WriteLine(  "Main thread: Call Join(), to wait until ThreadProc ends." );
       oThread->Join();
       Console::WriteLine(  "Main thread: ThreadProc.Join has returned.  Press Enter to end program." );
       Console::ReadLine();
       return 0;
    }


    thread.h


    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
    27
     
    using namespace System;
    using namespace System::Threading;
     
    // Simple threading scenario:  Start a Shared method running
    // on a second thread.
    public ref class ThreadExample
    {
    public:
     
       // The ThreadProc method is called when the thread starts.
       // It loops ten times, writing to the console and yielding 
       // the rest of its time slice each time, and then ends.
       static void ThreadProc()
       {
          for ( int i = 0; i < 10; i++ )
          {
             Console::Write(  "ThreadProc: " );
             Console::WriteLine( i );
     
             // Yield the rest of the time slice.
             Thread::Sleep( 0 );
     
          }
       }
     
    };
    voici le rapport d'erreur:


    c:\Documents and Settings\o.arnaud\Mes documents\Visual Studio Projects\thread\thread\thread.h(8) : error C2059: erreur de syntaxe : 'public'
    c:\Documents and Settings\o.arnaud\Mes documents\Visual Studio Projects\thread\thread\thread.h(9) : error C2143: erreur de syntaxe : absence de ';' avant '{'
    c:\Documents and Settings\o.arnaud\Mes documents\Visual Studio Projects\thread\thread\thread.h(9) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
    thread.cpp(18) : error C2143: erreur de syntaxe : absence de ';' avant '^'
    thread.cpp(18) : error C2143: erreur de syntaxe : absence de ';' avant '^'
    thread.cpp(18) : error C2653: 'ThreadExample' : n'est pas un nom de classe ni d'espace de noms
    thread.cpp(23) : error C2065: 'oThread' : identificateur non déclaré
    thread.cpp(23) : error C2227: la partie gauche de '->Start' doit pointer vers un class/struct/union
    le type est ''unknown-type''
    thread.cpp(33) : error C2227: la partie gauche de '->Join' doit pointer vers un class/struct/union
    le type est ''unknown-type''
    thread.cpp(33) : error C3861: 'oThread': identificateur introuvable, même avec une recherche qui dépend de l'argument

  2. #2
    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
    C'est du code C++/CLI et non du code Managed C++.
    Tu dois utiliser Visual Studio 2005, ou traduire le code du nouveau langage vers le vieux.
    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.

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut
    merci de t'interesser à mon probleme.

    il faut traduire quel genre de chose par exemple ? (je n'ai pas la version 2005)

  4. #4
    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
    Je ne connais pas vraiment le Managed C++, mais des trucs du genre:
    ref class -> __gc class
    ^ -> __gc *
    gcnew --> __gcnew
    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.

  5. #5
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par oliv23
    je viens de passer sur Visual studio 2003 et le code suivant en C++ ne compile pas.
    Ce n'est pas du C++ natif, mais du .Net. Il te faudra le framework, en version 1.1 (VC++ 2003).

  6. #6
    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
    note que vc++2005 est gratuit en version express http://www.developpez.net/forums/showthread.php?t=10734

Discussions similaires

  1. Code de connexion qui ne compile pas
    Par sousou_ dans le forum JDBC
    Réponses: 5
    Dernier message: 05/10/2014, 13h32
  2. [Code::Blocks] Ne compile pas les fonction de Glib
    Par getdz dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 23/06/2008, 14h28
  3. un code qui ne compile pas
    Par muslim1987 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 19/06/2008, 11h55
  4. Réponses: 9
    Dernier message: 29/01/2008, 19h59
  5. Réponses: 1
    Dernier message: 08/12/2006, 10h16

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