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

C Discussion :

Appels système GUI Linux/Xubuntu


Sujet :

C

Vue hybride

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

    Avatar de Songbird
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Juin 2015
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2015
    Messages : 494
    Billets dans le blog
    8
    Par défaut Appels système GUI Linux/Xubuntu
    Bonjour,

    [Je rédige ce post dans la section C, car elle aborde généralement des sujets relatifs au bas-niveau, mais il pourrait très bien ce trouver ailleurs: je ne cherche aucune solution spécifique au C]

    Dans un but purement pédagogique, je souhaiterais pouvoir afficher une fenêtre basique sans l'aide d'une bibliothèque, seulement, je ne sais pas vraiment comment m'y prendre. (j'ai d'ailleurs tenté de trouver des articles avec les mot-clés gui system call, mais rien de bien satisfaisant)

    J'aurais donc quelques questions:

    1. Existe-t-il des moyens d'utiliser les appels système de l'OS ?
    2. Faut-il obligatoirement passer par de l'assembleur, ou l'utilisation d'un langage bas-niveau serait envisageable ?
    3. Auriez-vous des sources à me conseiller pour les exploiter ?


    EDIT: Ces tests seront effectués sur ma machine, je travaille donc sur la version 14.04 de Linux/Xubuntu. (64 bits)


    Je vous remercie d'avance pour votre réponse,

    Cordialement,

    Songbird.

  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
    Pour commencer, quel OS? La réponse est complètement différente entre Windows et Linux, vu que sous Windows l'OS expose directement des fonctions pour ça (qu'on pourrait alors qualifier d'appels système) et sous Linux un serveur X est présent.

    Note: Le titre de la discussion été modifié et n'incluait pas cette précision à l'origine.
    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 Expert

    Avatar de Songbird
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Juin 2015
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2015
    Messages : 494
    Billets dans le blog
    8
    Par défaut
    Salut,

    Merci pour ta réponse.


    Pour commencer, quel OS?
    N'importe quelle distribution Linux. (à moins qu'il y ait des exceptions, dans ce cas-là, faisons abstraction de celles-ci)

  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
    Alors, sous Linux, entre les programmes ordinaires et les drivers d'écran, il y a le Serveur X. Ce qui donne deux points d'entrée pour accéder à l'écran sans utiliser de bibliothèque graphique:
    1. Se connecter manuellement au serveur X avec des sockets et envoyer les requêtes voulues selon le protocole X
    2. Ou bien appeler directement les pilotes graphiques de la même manière que le serveur X le fait. Regarder les sources du serveur X (les deux serveur X les plus connus étant X.Org et XFree86) sera probablement instructif.
    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
    Membre Expert

    Avatar de Songbird
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Juin 2015
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2015
    Messages : 494
    Billets dans le blog
    8
    Par défaut
    1. Se connecter manuellement au serveur X avec des sockets et envoyer les requêtes voulues selon le protocole X
    2. Ou bien appeler directement les pilotes graphiques de la même manière que le serveur X le fait. Regarder les sources du serveur X (les deux serveur X les plus connus étant X.Org et XFree86) sera probablement instructif.
    D'accord, merci pour le wiki, je vais aller jeter un œil.

    Aurais-tu une "préférence" entre ces deux façons de faire ? Envoyer des requêtes au serveur par un protocole bien défini serait-il moins casse-tête que d'utiliser les pilotes ?

  6. #6
    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
    À mon avis, la méthode 1 est probablement la plus portable vers divers systèmes Unixoïdes. De plus, il est possible que le serveur X "ouvre" les pilotes en mode exclusif.

    Je ne connais pas assez Linux pour avoir des certitudes.
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/12/2006, 20h59
  2. appel système en c sous linux
    Par momoh dans le forum POSIX
    Réponses: 5
    Dernier message: 03/12/2006, 18h34
  3. Réponses: 3
    Dernier message: 20/06/2006, 07h06
  4. [UBUNTU] Ajout nouvel appel système ?
    Par [Margot] dans le forum Ubuntu
    Réponses: 5
    Dernier message: 11/05/2006, 14h11
  5. appel système opendir dans thread
    Par madimane dans le forum POSIX
    Réponses: 2
    Dernier message: 14/04/2006, 05h39

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