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

SDL Discussion :

Redirection de la sortie standard [FAQ]


Sujet :

SDL

  1. #1
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut Redirection de la sortie standard
    Bonjour,

    Les librairies SDL ont leur propre sortie standard, stdout.txt.

    y a t'il quelqu un parmi vous qui a deja reussi a faire en sorte que tout n aille pas dans le stdout.txt?

    merci

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par ankou82
    Bonjour,

    Les librairies SDL ont leur propre sortie standard, stdout.txt.

    y a t'il quelqu un parmi vous qui a deja reussi a faire en sorte que tout n aille pas dans le stdout.txt?

    merci
    Cela dépend de l'OS que tu utilises et de comment tu définis ton projet.

    Voir ici pour une solution sous Visual:
    http://www.developpez.net/forums/sho...57&postcount=4

    Jc

  3. #3
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    a oui merci, j avais vu mais malheureusement je code sous devc++

    ca me fatigue j avance a rien, ya tjs quelque chose qui e va pas

  4. #4
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    ça ne viens aps de SDL mais de l'OS et des options de projet

  5. #5
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    J ai mis mon projet en mode console, ensuite je ne vois pas ce que je peux faire.

  6. #6
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  7. #7
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    ah, ben on m'a devancé... je voulais mettre le lien ce soir une fois rentrée chez moi.

    Il n'y a plus qu'a attendre ankou82 pour qu'il nous dise si ça a regler son problème ou non

  8. #8
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    bonjour bonjour

    enchainté mrduchnok je pense que l on se connais si tu as fais l iut de lannion!!!

    par contre je viens de rentrer la je regarderai ca au taff demain matin :p

    merci beaucoup

  9. #9
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    oui oui j'étais bien à Lannion, j'étais pas sûr que c'était toi, mais y'en a pas des masse avec ce pseudo là ;-)


    ça a résolu ton soucis avec la FAQ SDL ?
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  10. #10
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    Pour le moment non, je ne vois pas vraiment comment m'y prendre.

    Recompiler la librairie... j ai eu la bonne idée d installer la librairie avec le package manager

    et je vois pas trop quoi faire avec le sdl_nostdio, je trouve ca etrange qu il n'y est rien de prevue de beaucoup plus simple.

  11. #11
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    If you define "NO_STDIO_REDIRECT" and recompile SDL, I think it will fix the problem
    tu l'définis et tu recompile ton projet, et ça fonctionne toujours pas ?
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  12. #12
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par MrDuChnok
    tu l'définis et tu recompile ton projet, et ça fonctionne toujours pas ?
    Non, il faut recompiler la bibliothèque SDL. C'est quelque chose qui a été fait pour les utilisateurs windows.

    shenron a fait remarquer que sous Visual, ils n'ont pas ce problème si tu déclares le projet en mode console.

    Je vois 4 solutions:
    - Recompiler SDL
    - Changer d'EDI
    - Changer d'OS
    - Afficher dans la fenêtre les infos que tu veux...

    Jc

  13. #13
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    Comme l'a dit fearyourself, la seule façon d'empecher la creation des fichiers stderr.txt/stdout.txt est de recompiler la bibliotheque en definissant NO_STDIO_REDIRECT
    donc tu ajoutes : #define NO_STDIO_REDIRECT dans SDL.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
    /* The standard output files */
    #define STDOUT_FILE    TEXT("stdout.txt")
    #define STDERR_FILE    TEXT("stderr.txt")
     
    // *** ADD THIS TEXT BEFORE THE #ifndef BELOW ***
    #define NO_STDIO_REDIRECT
     
    #ifndef NO_STDIO_REDIRECT
      #ifdef _WIN32_WCE
        static wchar_t stdoutPath[MAX_PATH];
        static wchar_t stderrPath[MAX_PATH];
      #else
        static char stdoutPath[MAX_PATH];
        static char stderrPath[MAX_PATH];
      #endif
    #endif
    Tu doit aussi faire bien attention à ce que :
    *-mwindows n'est pas dans les options de projet
    *-lsdlmain de même
    *ajouter SDL_win32_main.c au projet
    *ajouter -Dmain=SDL_main dans les options du compilateur


    sinon il me semble qu'il y a aussi une astuce du genre :
    #ifdef main
    #undef main
    #endif

    avant la fonction main (c'est pas propre mais ça evite de recompiler la bibliotheque ^^).

    Tu peux aussi essayer un truc de ce genre (il me semble que ça marchais avec la version 1.2.7 de SDL donc peut être superieur aussi) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    freopen(NULL,"w",stdout);
    freopen(NULL,"w",stderr);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    freopen("CON","w",stdout);
    freopen("CON","w",stderr);

  14. #14
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    ca marche tres bien, merci loka pour cette solution

  15. #15
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    De rien

  16. #16
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par ankou82
    Bonjour,

    ca marche tres bien, merci loka pour cette solution
    Ce serait bien de spécifier pour les autres ce qui a marché...

    Jc

  17. #17
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    Ce qui a marché est en faite dans le titre du sujet :

    la redirection de la sortie standard des librairie SDL, car SDL a sa propre sortie standard a savoir un fichier texte : stdout.txt

    Pour mon cas le script C que je realise doit fonctionner en tant que cgi, si la redirection n'est pas faite le browser ne voit pas les informations qui lui sont envoyé.

  18. #18
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par ankou82
    Ce qui a marché est en faite dans le titre du sujet :

    la redirection de la sortie standard des librairie SDL, car SDL a sa propre sortie standard a savoir un fichier texte : stdout.txt

    Pour mon cas le script C que je realise doit fonctionner en tant que cgi, si la redirection n'est pas faite le browser ne voit pas les informations qui lui sont envoyé.
    Je vais tenter par une autre approche

    Plusieurs solutions ont été proposées pour résoudre le problème, laquelle as-tu utilisé pour résoudre ton problème...

    Jc

  19. #19
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    A ok, désolé je n'avais cerné ta question.

    j ai utilisé la methode du define de NO_STDIO_REDIRECT.

    je n'ai par contre pas redefinit cette variable dans le SDL.H mais dans le SDL_win32_main.c comme la montré loka.

    Citation Envoyé par loka
    Comme l'a dit fearyourself, la seule façon d'empecher la creation des fichiers stderr.txt/stdout.txt est de recompiler la bibliotheque en definissant NO_STDIO_REDIRECT
    donc tu ajoutes : #define NO_STDIO_REDIRECT dans SDL.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
    /* The standard output files */
    #define STDOUT_FILE    TEXT("stdout.txt")
    #define STDERR_FILE    TEXT("stderr.txt")
     
    // *** ADD THIS TEXT BEFORE THE #ifndef BELOW ***
    #define NO_STDIO_REDIRECT
     
    #ifndef NO_STDIO_REDIRECT
      #ifdef _WIN32_WCE
        static wchar_t stdoutPath[MAX_PATH];
        static wchar_t stderrPath[MAX_PATH];
      #else
        static char stdoutPath[MAX_PATH];
        static char stderrPath[MAX_PATH];
      #endif
    #endif
    Tu doit aussi faire bien attention à ce que :
    *-mwindows n'est pas dans les options de projet
    *-lsdlmain de même
    *ajouter SDL_win32_main.c au projet
    *ajouter -Dmain=SDL_main dans les options du compilateur


  20. #20
    Nouveau Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Ch'tite précision
    Salut à tous,

    Sur la localisation des freopen, l'article sur libsdl a été complété
    http://www.libsdl.org/cgi/docwiki.cgi/FAQ_20Console
    Ca marche seulement si les freopen sont en début de code, c'est ce que j'ai constaté avec SDL 1.2.10 - mingw et le prog testgl fourni avec la distrib.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Redirection de la sortie standard d'une console
    Par LsMarx dans le forum C++/CLI
    Réponses: 5
    Dernier message: 25/07/2012, 14h33
  2. Redirection de la sortie standard
    Par Dud225 dans le forum C
    Réponses: 12
    Dernier message: 11/04/2007, 23h56
  3. redirection de la sortie standard
    Par mauroyb0 dans le forum Langage
    Réponses: 6
    Dernier message: 27/12/2006, 19h18
  4. [Débutant(e)] Redirection de la sortie standard
    Par salber dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 17/06/2005, 15h34
  5. redirection de la sortie standard
    Par sorari dans le forum C++
    Réponses: 8
    Dernier message: 19/05/2005, 11h47

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