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 :

[C] utiliser uniquement la console sous windows


Sujet :

SDL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Par défaut [C] utiliser uniquement la console sous windows
    salut,
    j'utilise la SDL dans un programme, mais uniquement à cause d'une gestion très simple des threads et à cause de SDL_GetTicks();, j'ai besoin de savoir très précisément combien de temps met mon programme pour s'exécuter...

    Sous linux, pas de problème, j'initialise SDL avec SDL_Init(SDL_INIT_VIDEO), mais je ne charge pas de surface ni d'écran et j'utilise donc la console pour afficher les résultats de mon programme.

    Mais sous windows, en initialisant SDL de cette manière, je n'ai pas accès à la console (même si il y en a une qui s'ouvre)...

    Je n'utilise pas la SDL pour afficher les résultats dans une fenêtre, car je veux tirer chaque FLOP/s de mon processeur pour ce programme...

    Comment laisser la controle à la console?
    Ou bien connaissez-vous une librairie qui permettrait de faire ce que j'ai décrit plus haut de manière très simple, mais aussi en console??

    Bien à vous,
    Bornerdogge

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Citation Envoyé par Bornerdogge Voir le message
    Ou bien connaissez-vous une librairie qui permettrait de faire ce que j'ai décrit plus haut de manière très simple, mais aussi en console??

    Bien à vous,
    Bornerdogge
    oui cela s'appelle le MSDN et les API de Windows.
    C'est un peu du bricolage pour pas grand chose...
    Le problème avec l'informatique c'est qu'il ya des couches logicielles pour faire tout et n'importe quoi ce qui fait que les gens font un peu n'importe quoi alors qu'un simple main() et programme console sous Windows peut faire la même chose.

    SDL c'est plutot fait pour les jeux ou animations multimédias.
    J'ai pas regardé mais pas dit que tu aies accès à la gestion des sections critiques et autres caractêristiques de la programmation multithreading
    Si tu tiens à avoir quelque chose absolument de portable il y a pthread biblio censée gérer les threads.

    Maintenant si tu tiens absolument à utiliser SDL ce qui est ton souhait je le respecte tu vas être bloqué à un certain moment pour réaliser des taches particulières.
    La gestion de la console sous Windows c'est propre à l'OS donc faut passer par les API
    Comment laisser la controle à la console?
    A ma connaissance seulement avec API win ce qui est radicalement incompatible avec SDL
    C'est soit l'un soit l'autre

  3. #3
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Par défaut
    oui j'avais vu pthread mais est-ce aussi simple que SDL, et, surout, portable linux-windows?

    je ne peux pas utiliser de librairies windows car elles sont unitilisables sur linux!

    "Maintenant si tu tiens absolument à utiliser SDL ce qui est ton souhait je le respecte tu vas être bloqué à un certain moment pour réaliser des taches particulières.
    La gestion de la console sous Windows c'est propre à l'OS donc faut passer par les API"

    c'est un très petit programme, très ciblé sur la vitesse d'exécution, il n'y aura pas de taches trop particulières...

    je veux vraiment rester très simple, d'abord parce que je ne suis pas du dout, expert, de deux par manque de temps, et de trois à cause de la vitesse...

    SDL me permettait d'avoir des threads en 2-3 lignes arch-simples à mettre en place, c'est pour ça.... mais je vais me renseigner pour pthread...

  4. #4
    Expert confirmé

    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 : 44
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Sauf si je me trompe, tu ne veux que voir les résultats de ton exécution et pas vraiment prendre contrôle de la console.

    La SDL sous windows crée un fichier stdout.txt qui te montre ce qui a été affiché.

    Jc

  5. #5
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Par défaut
    j'ai mal formulé ça...

    non, j'ai vraiment besoin de la console, de 1 pour afficher un résultat toujours changeant (le nombre d'itérations de calcul effectuées) et l'utilisateur doit entrer des valeurs.

    j'ai donc besoin de controler la console....

  6. #6
    Expert confirmé

    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 : 44
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Bornerdogge Voir le message
    j'ai mal formulé ça...

    non, j'ai vraiment besoin de la console, de 1 pour afficher un résultat toujours changeant (le nombre d'itérations de calcul effectuées) et l'utilisateur doit entrer des valeurs.

    j'ai donc besoin de controler la console....
    Ok alors il faut regarder dans le forum nous en avons déjà parler mais sous windows la solution revient souvent à modifier les sources de la SDL pour modifer SDL_main en définissant la macro NO_STDIO_REDIRECT.

    D'autres solutions à mon souvenir ont déjà été proposé dans ce forum.

    Jc

  7. #7
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Citation Envoyé par Bornerdogge Voir le message
    oui j'avais vu pthread mais est-ce aussi simple que SDL, et, surout, portable linux-windows?
    ...
    http://partow.net/programming/posixs...per/index.html

  8. #8
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Par défaut
    merci, je vais un peu voir ça....

    quant aux sources, je suis un peu allé voir:
    il me suffirait d'ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define NO_STDIO_REDIRECT 1
    dans SDL_main.h ??

    car je vois ça dans SDL_win32_main.c:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include "SDL_main.h"
    /*...*/
    #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

  9. #9
    Expert confirmé

    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 : 44
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Bornerdogge Voir le message
    merci, je vais un peu voir ça....

    quant aux sources, je suis un peu allé voir:
    il me suffirait d'ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define NO_STDIO_REDIRECT 1
    dans SDL_main.h ??
    Oui cela devrait suffir ou directement dans le .c

    Jc

Discussions similaires

  1. [C++] Programme console sous Windows
    Par Invité4 dans le forum Windows
    Réponses: 4
    Dernier message: 17/08/2006, 21h53
  2. Réponses: 6
    Dernier message: 20/12/2005, 00h03
  3. utilisation d'un makefile sous windows
    Par semenzato dans le forum Windows
    Réponses: 1
    Dernier message: 30/08/2005, 10h29
  4. Problème d'utilisation select () avant recv sous windows
    Par init dans le forum Développement
    Réponses: 3
    Dernier message: 16/03/2005, 19h36
  5. [web] [PerlTk] Console sous windows
    Par Cyspak dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 28/04/2004, 14h21

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