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 :

Console + SDL = pas terrible [FAQ]


Sujet :

SDL

  1. #21
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Oui, si tu relis ma première réponse, tu verras que je parle aussi de rediriger les sorties standard (qui par défaut vont vers un fichier si tu utilises SDL)

  2. #22
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Points : 245
    Points
    245
    Par défaut
    Mais comment on fait pour rediriger les sorties vers la console ?

  3. #23
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    En fait il y a plus simple :
    http://www.libsdl.org/faq.php?action...&category=4#85

    En gros, soit tu recompiles la SDL pour qu'elle ne fasse pas la redirection (c'est pas forcément le plus pratique...), soit tu définis la macro NO_STDIO_REDIRECT dans les options de ton projet.

  4. #24
    Membre habitué Avatar de Polyfructol
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Avril 2007
    Messages : 131
    Points : 157
    Points
    157
    Par défaut
    Moi je n'arrivais pas a rediriger les sorties vers la console par défaut de la SDL, c'est pour cette raison que dans ma fonction j'en crée une nouvelle.

    Une image pour illustrer : cliquez ici.

  5. #25
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Points : 245
    Points
    245
    Par défaut
    Moi je n'arrivais pas a rediriger les sorties vers la console par défaut de la SDL, c'est pour cette raison que dans ma fonction j'en crée une nouvelle.
    Du code a me preter stp ?

    Sinon j'avais pensé a créer un autre projet, qui ouvre une console et lit tout ce qui se trouve dans un fichier ( n'importe lequel, un .txt par exemple ... ), tandis que mon jeu écrira dans ce meme fichier ce qu'il se passe ( appels de fonction, chargement de fichiers ... ).
    J'ai tout de meme remarqué que mon idée était irréalisable: si a chaque chargement d'image je demande au prog d'écrire dans le fichier, cela prendra quasiment 1/10eme de seconde le temps d'écrire puis de charger ( multipliez cela par le nombre d'images, soit environ une centaine actuellement pour mon jeu, et vous obtiendrez de la lenteur en barres ).
    Je comptait ensuite binder les deux projets et voila...

  6. #26
    Membre habitué Avatar de Polyfructol
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Avril 2007
    Messages : 131
    Points : 157
    Points
    157
    Par défaut
    Le code est à la page 1, mon application est configuré en GUI, donc sans console de base. Le code sert à créé la console et y rediriger les stdout ou stderr au choix.

    Il faut inclure les librairies <windows.h> et <fcntl.h> car la console est spécifique à windows, sous linux ça s'affiche dans le shell donc il n'y a pas ce problème (j'ai jamais essayé sous linux, p'têt que je me trompte).

    Je remet la source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void ActivateConsole() {
        AllocConsole();
        HANDLE newConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
        int outFd = _open_osfhandle((long)newConsoleOutput, _O_TEXT);
        FILE* consoleOut = _fdopen(outFd, "w");
        setvbuf(consoleOut, NULL, _IONBF, 0);
        *stdout = *consoleOut;
    }
    Bien sûr, comme la console écrit tous les printf à la suite, il ne vaut mieux pas s'en servir pour marquer les FPS ou la position de tel ou tel personnage, mais plutôt pour contrôler s'il n'y a pas de problème dans les chargements d'image, dans l'initialisation des paramètres.

    Enjoy !

  7. #27
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Et NO_STDIO_REDIRECT (qui est quand même vachement plus simple...) ça ne marche pas ?

    Bien sûr, comme la console écrit tous les printf à la suite, il ne vaut mieux pas s'en servir pour marquer les FPS ou la position de tel ou tel personnage
    '\r' permet de revenir au début de la ligne

  8. #28
    Membre habitué Avatar de Polyfructol
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Avril 2007
    Messages : 131
    Points : 157
    Points
    157
    Par défaut
    Ca y est ! J'ai testé NO_STDIO_REDIRECT, (un peu galéré mais bon).

    Je résume ma méthode, dites moi si elle va bien, elle marche mais est un peu lourde :

    - Supprimer la liaison -lSDLmain de son projet.
    - Rajouter le fichier SDL_win32_main.c dans son projet.
    - Le modifier et rajouter #define NO_STIO_REDIRECT ou mieux, rajouter -DNO_STDIO_REDIRECT dans les options de compilation pour SDL_win32_main.c.

    On trouve SDL_win32_main.c là SDL-1.2.11 Source Code dans le sous-répertoire \src\main\win32\

    Edit : Avec cette méthode les fichiers ne sont plus créés donc on ne peux pas récupérer stderr.txt, ce qui peut être handicapant . C'est pour ca que je vais garder ma méthode précédente. Il faudrait retoucher SDL_win32_main.c pour définir que seul stdout soit redirigé vers la console .

    Laurent Gomila a écrit :
    '\r' permet de revenir au début de la ligne.
    Moi je me sert de "\n" ça doit être équivalent, mais je voulais dire par :
    comme la console écrit tous les printf à la suite
    que si on compte faire un compteur de FPS ou n'importe quoi d'autre qui serait affiché chaque image c'est pas le bon choix (à >30 images par secondes, on a pas trop le temps de lire quoi que ce soit avec le défilement).

  9. #29
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 433
    Points : 240
    Points
    240
    Par défaut
    Citation Envoyé par Polyfructol
    Moi je me sert de "\n" ça doit être équivalent
    Non pas du tout, le \n met le pointeur à la ligne en dessous, en revanche \r met le pointeur au tout début de la ligne courante et donc tout ce qui va être écrit va effacer la ligne qui à été écrite juste avant.

  10. #30
    Membre habitué Avatar de Polyfructol
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Avril 2007
    Messages : 131
    Points : 157
    Points
    157
    Par défaut
    Ahhh très très interessant alors ! Ça m'apprendra de pas tester

    Sinon vivement que tout cela soit dans la FAQ , je pourrais faire un petit récapitulatif si il faut, mais d'abord j'aimerais savoir si les manipulations que j'effectue dans mon post précédents sont convenables.

    Bonne soirée.

  11. #31
    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 Polyfructol
    Sinon vivement que tout cela soit dans la FAQ , je pourrais faire un petit récapitulatif si il faut, mais d'abord j'aimerais savoir si les manipulations que j'effectue dans mon post précédents sont convenables.
    C'est en effet la meilleure solution que je vois mais elle ne me plaît pas énormément parce qu'à ce moment là, le code ne serait plus portable.

    Peut-être en ajoutant un #ifdef dans le code windows, suffirait...

    Jc

  12. #32
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Il y a également moyen de rediriger stdout et stderr vers la console après l'initialisation de SDL :
    http://www.libsdl.org/cgi/docwiki.cgi/FAQ_20Console

    (Windows only, toujours)

  13. #33
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Points : 245
    Points
    245
    Par défaut
    void ActivateConsole()
    {
    AllocConsole();
    HANDLE newConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    int outFd = _open_osfhandle((long)newConsoleOutput, _O_TEXT);
    FILE* consoleOut = _fdopen(outFd, "w");
    setvbuf(consoleOut, NULL, _IONBF, 0);
    *stdout = *consoleOut;
    }
    Donc il suffit que j'appelle cette fonction pour pouvoir utiliser les printf("") ?
    Je ne connais pas les mots clé que tu utilises ( genre HANDLE ) mais apparemment tu créés une console et la relie directement a stdout ... ??

    Il y a également moyen de rediriger stdout et stderr vers la console après l'initialisation de SDL :
    http://www.libsdl.org/cgi/docwiki.cgi/FAQ_20Console

    (Windows only, toujours)
    J'ais jeté un oeil, mais je n'ais pas fait les tests ...

    Je résume ma méthode, dites moi si elle va bien, elle marche mais est un peu lourde :

    - Supprimer la liaison -lSDLmain de son projet.
    - Rajouter le fichier SDL_win32_main.c dans son projet.
    - Le modifier et rajouter #define NO_STIO_REDIRECT ou mieux, rajouter -DNO_STDIO_REDIRECT dans les options de compilation pour SDL_win32_main.c.

    On trouve SDL_win32_main.c là SDL-1.2.11 Source Code dans le sous-répertoire \src\main\win32\

    Edit : Avec cette méthode les fichiers ne sont plus créés donc on ne peux pas récupérer stderr.txt, ce qui peut être handicapant . C'est pour ca que je vais garder ma méthode précédente. Il faudrait retoucher SDL_win32_main.c pour définir que seul stdout soit redirigé vers la console .
    Désolé mais je n'ais pas assez d'experience pour manipuler les fichiers sources comme cela ( en plus je préfèrerais utiliser une fonction dynamique comme la tienne ) ...

  14. #34
    Membre habitué Avatar de Polyfructol
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Avril 2007
    Messages : 131
    Points : 157
    Points
    157
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void ActivateConsole()
    {
        AllocConsole();
        // Redirection des flux I/O standards
        freopen("conout$", "w", stdout);
        freopen("conin$", "r", stdin);
        freopen("conout$", "w", stderr); 
    }
    Il suffit de seulement rajouter la librairie windows.h.

    J'envois la source pour ceux qui veulent voir le résultat. lien

  15. #35
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Citation Envoyé par ironzorg
    J'ai tout de meme remarqué que mon idée était irréalisable: si a chaque chargement d'image je demande au prog d'écrire dans le fichier, cela prendra quasiment 1/10eme de seconde le temps d'écrire puis de charger ( multipliez cela par le nombre d'images, soit environ une centaine actuellement pour mon jeu, et vous obtiendrez de la lenteur en barres ).
    Euh désolé de te contredire, mais l'écriture dans un fichier ne prendsrien comme temps. Déjà, en utilisant cout et cerr, SDL ecrit dans le fichier, il te reste simplement à le lire. Ensuite, je charge pas moins de 150 sprites au lancmeent de mon programme. Voilà ce que j'écris pour les 6 premiers :
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    Picture loaded successfully from images/fish.bmp
    frame number 0 get x=0 and y=0 with an height=54 and a width=21 loaded.
    frame number 1 get x=21 and y=0 with an height=54 and a width=21 loaded.
    frame number 2 get x=42 and y=0 with an height=54 and a width=21 loaded.
    frame number 3 get x=63 and y=0 with an height=54 and a width=21 loaded.
    frame number 4 get x=84 and y=0 with an height=54 and a width=21 loaded.
    frame number 5 get x=105 and y=0 with an height=54 and a width=21 loaded.
    frame number 6 get x=126 and y=0 with an height=54 and a width=21 loaded.
    frame number 7 get x=147 and y=0 with an height=54 and a width=21 loaded.
    frame number 8 get x=168 and y=0 with an height=54 and a width=21 loaded.
    frame number 9 get x=189 and y=0 with an height=54 and a width=21 loaded.
    frame number 10 get x=210 and y=0 with an height=54 and a width=21 loaded.
    frame number 11 get x=231 and y=0 with an height=54 and a width=21 loaded.
    frame number 12 get x=252 and y=0 with an height=54 and a width=21 loaded.
    Picture loaded successfully from images/coin.bmp
    frame number 0 get x=0 and y=0 with an height=16 and a width=16 loaded.
    frame number 1 get x=16 and y=0 with an height=16 and a width=16 loaded.
    frame number 2 get x=32 and y=0 with an height=16 and a width=16 loaded.
    frame number 3 get x=48 and y=0 with an height=16 and a width=16 loaded.
    frame number 4 get x=64 and y=0 with an height=16 and a width=16 loaded.
    frame number 5 get x=80 and y=0 with an height=16 and a width=16 loaded.
    frame number 6 get x=96 and y=0 with an height=16 and a width=16 loaded.
    frame number 7 get x=112 and y=0 with an height=16 and a width=16 loaded.
    Picture loaded successfully from images/truc.bmp
    frame number 0 get x=0 and y=0 with an height=30 and a width=36 loaded.
    frame number 1 get x=36 and y=0 with an height=30 and a width=36 loaded.
    frame number 2 get x=72 and y=0 with an height=30 and a width=36 loaded.
    frame number 3 get x=108 and y=0 with an height=30 and a width=36 loaded.
    frame number 4 get x=144 and y=0 with an height=30 and a width=36 loaded.
    frame number 5 get x=180 and y=0 with an height=30 and a width=36 loaded.
    Color 16711935 transparent.
    Color 16711935 transparent.
    Color 16711935 transparent.
    Sprite S0 at (609,100) with speed of (0,-1)
    Sprite T0 at (598,364) with speed of (-4,0)
    Sprite U0 at (82,78) with speed of (-4,2)
    Picture loaded successfully from images/fish.bmp
    frame number 0 get x=0 and y=0 with an height=54 and a width=21 loaded.
    frame number 1 get x=21 and y=0 with an height=54 and a width=21 loaded.
    frame number 2 get x=42 and y=0 with an height=54 and a width=21 loaded.
    frame number 3 get x=63 and y=0 with an height=54 and a width=21 loaded.
    frame number 4 get x=84 and y=0 with an height=54 and a width=21 loaded.
    frame number 5 get x=105 and y=0 with an height=54 and a width=21 loaded.
    frame number 6 get x=126 and y=0 with an height=54 and a width=21 loaded.
    frame number 7 get x=147 and y=0 with an height=54 and a width=21 loaded.
    frame number 8 get x=168 and y=0 with an height=54 and a width=21 loaded.
    frame number 9 get x=189 and y=0 with an height=54 and a width=21 loaded.
    frame number 10 get x=210 and y=0 with an height=54 and a width=21 loaded.
    frame number 11 get x=231 and y=0 with an height=54 and a width=21 loaded.
    frame number 12 get x=252 and y=0 with an height=54 and a width=21 loaded.
    Picture loaded successfully from images/coin.bmp
    frame number 0 get x=0 and y=0 with an height=16 and a width=16 loaded.
    frame number 1 get x=16 and y=0 with an height=16 and a width=16 loaded.
    frame number 2 get x=32 and y=0 with an height=16 and a width=16 loaded.
    frame number 3 get x=48 and y=0 with an height=16 and a width=16 loaded.
    frame number 4 get x=64 and y=0 with an height=16 and a width=16 loaded.
    frame number 5 get x=80 and y=0 with an height=16 and a width=16 loaded.
    frame number 6 get x=96 and y=0 with an height=16 and a width=16 loaded.
    frame number 7 get x=112 and y=0 with an height=16 and a width=16 loaded.
    Picture loaded successfully from images/truc.bmp
    frame number 0 get x=0 and y=0 with an height=30 and a width=36 loaded.
    frame number 1 get x=36 and y=0 with an height=30 and a width=36 loaded.
    frame number 2 get x=72 and y=0 with an height=30 and a width=36 loaded.
    frame number 3 get x=108 and y=0 with an height=30 and a width=36 loaded.
    frame number 4 get x=144 and y=0 with an height=30 and a width=36 loaded.
    frame number 5 get x=180 and y=0 with an height=30 and a width=36 loaded.
    Color 16711935 transparent.
    Color 16711935 transparent.
    Color 16711935 transparent.
    Sprite S1 at (316,27) with speed of (-3,-3)
    Sprite T1 at (524,231) with speed of (1,-4)
    Sprite U1 at (153,62) with speed of (0,3)
    Ben ca démarre directement, sans ralentissement. En imaginant qu'une écriture prenne 1/10 de seconde, ca prendrait un long moment. Plutôt que d'affirmer des tas de choses, essaye avant
    Mindiell
    "Souvent, femme barrit" - Elephant man

  16. #36
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Points : 245
    Points
    245
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void ActivateConsole() 
    {  AllocConsole(); 
    // Redirection des flux I/O standards  
    freopen("conout$", "w", stdout); 
    freopen("conin$", "r", stdin); 
    freopen("conout$", "w", stderr); }
    Tu peux me dire ce que c'est AllocConsole ?

    Ben ca démarre directement, sans ralentissement. En imaginant qu'une écriture prenne 1/10 de seconde, ca prendrait un long moment. Plutôt que d'affirmer des tas de choses, essaye avant
    Ca doit etre mon ordi ou alors je n'est pas fait les bons tests parce que j'avais établit un petit projet qui écrivait dans un fichier et qui lisait en meme temps ce qu'il écrivait et ça prenait pas loin de 3 ou 4 secondes pour faire des chargements de 10 images... En revanche j'utilisait stdio.h, est ce que ça joue ?

  17. #37
    Membre habitué Avatar de Polyfructol
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Avril 2007
    Messages : 131
    Points : 157
    Points
    157
    Par défaut
    AllocConsole() c'est tout simplement une fonction qui dit à Windows d'ouvrir une console , j'suis pas allé le chercher loin mais je connais pas en détail comment tout ça marche faut dire.

    D'après MSDN :
    Allocates a new console for the calling process.

  18. #38
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Autre idée qui a le mérite de ne pas nécessiter de code ni d'option de configuration :
    Les heureux utilisateurs de windows peuvent... installer cygwin (), utiliser http://tailforwin32.sourceforge.net/ ou encore aller voir http://malektips.com/xp_dos_0001.html ou télécharger toute autre version locale.

  19. #39
    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 Sivrît
    Autre idée qui a le mérite de ne pas nécessiter de code ni d'option de configuration :
    Les heureux utilisateurs de windows peuvent... installer cygwin (), utiliser http://tailforwin32.sourceforge.net/ ou encore aller voir http://malektips.com/xp_dos_0001.html ou télécharger toute autre version locale.
    En effet, cela a le mérite d'être mentionné
    Au moins cela ne demande pas de modifier la SDL
    Jc

  20. #40
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Points : 245
    Points
    245
    Par défaut
    En fait j'ai utilisé le lien de Laurent Gomila () en mensionnant simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int main(int argc, char* argv[])
    {
           freopen("CON","w",stdout);
    }
    Et voila! Ca marche impeck'

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. console ou pas console ?
    Par sabredebois dans le forum Windows Vista
    Réponses: 0
    Dernier message: 28/02/2009, 13h35
  2. Console - ne pas afficher le curseur.
    Par maxim_um dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 06/09/2007, 14h01
  3. un fichier excel pas terrible
    Par gregelec dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/05/2007, 14h15
  4. [JAVA] Console Java pas là
    Par dimitryous dans le forum Développement OS X
    Réponses: 2
    Dernier message: 02/04/2007, 19h00
  5. Solution pas terrible mais ok [XFree] display
    Par sdeb dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 06/01/2004, 20h46

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