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 :

language bas niveau


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 40
    Par défaut language bas niveau
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
     
    int main() {
     
    int fd_to_read=open("sometext.txt",O_RDONLY);
    int fd_to_write=open("newtext2.txt",O_WRONLY | O_CREAT , S_IRUSR |S_IWUSR);
     
    	if(fd_to_read==-1 || fd_to_write=-1){
    		printf("Le fichier ne peut s'ouvrir \n");
    		return -1;}
    	char c;
    	int bytes;
    	while((bytes=read(fd_to_read,&c,sizeof(c)))>0){
    		if(c=='.'){
    			c='!';}
    write(fd_to_write,&c,sizeof(c));
     
    }
    close(fd_to_read);
    close(fd_to_write);
     
    }
    Bonsoir quelqu'un pourrait me dire comment je pourrais compiler ce genre de programme ( je sais que c'est un langage de bas niveau ) merci d'avance pour votre aide .

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    C'est du code en C. Tu prends un compilateur C, idéalement un IDE pour simplifier, et tu appuies sur le bouton compiler.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Est-ce que vous êtes sous Windows ou Linux ?

  4. #4
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 40
    Par défaut
    Citation Envoyé par Bayard Voir le message
    Est-ce que vous êtes sous Windows ou Linux ?
    je suis sous Linux , mais et ce genre de programme ne veut pas ce compiler ( la compilation est gcc open.c -o exo) mais je pense que ici c'est different vu que c'est un langage de bas niveau

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Marwaa45 Voir le message
    je sais que c'est un langage de bas niveau
    Arrête tes grandes phrases pleines de mots inutiles avec tes histoires de bas niveau (d'autant plus qu'en venant sur un forum C, tu peux être certains que tous les intervenants connaissent le C et son niveau) cela n'a aucune importance. On veut compiler un programme écrit dans un langage X, que ce soit de l'assembleur ou du COBOL, on utilise le compilateur X. Il n'y a rien de différent avec le C.

    Citation Envoyé par Marwaa45 Voir le message
    la compilation est gcc open.c -o exo mais je pense que ici c'est different vu que c'est un langage de bas niveau
    C'est différent simplement parce que ton programme est mal écrit. Si tu avais lu les messages du compilateur (ou juste si tu nous les avais ne serait-ce que recopiés), tu aurais vu qu'il ne connait pas "O_RDONLY" (manque #include <fcntl.h>) et une erreur sur la comparaison dans cette ligne if(fd_to_read==-1 || fd_to_write=-1) (je te laisse trouver tout seul, c'est pas compliqué car tu tentes deux comparaisons similaires sans utiliser le même opérateur de comparaison dans les deux cas).

    PS: et un programme en C ça s'indente. Pas pour le compilateur qui s'en bat le steak mais pour ceux qui le lisent et qui vont plus vite si les blocs sont bien délimités.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  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
    Citation Envoyé par Bousk Voir le message
    C'est du code en C. Tu prends un compilateur C, idéalement un IDE pour simplifier, et tu appuies sur le bouton compiler.
    Ce n'est pas du code C standard, c'est du code C POSIX. Jusqu'à ce que Marwaa45 précise qu'elle était sous Linux, il n'y avait aucune garantie que le premier compilateur C venu ne répondrait pas Erreur fatale C1083: Impossible d'inclure <unistd.h>
    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.

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Marwaa45 précise dans son profil qu'elle est une femme, merci de faire les accords adaptés dans vos phrases ^^

    je suis sous Linux , ce genre de programme ne veut pas ce compiler ( la compilation est gcc open.c -o exo)
    Et pourquoi ne pas nous dire ceci dans le premier message et nous copier-coller du même coup les messages d'erreur de ton compilateur ?
    Plus tu donnes d'informations, plus il est simple pour les gens de comprendre quel est ton problème et quelles solutions t'apporter.

    Au passage, on devrait toujours utiliser les options -Wall et -Wextra de gcc, cela permet d'activer les vérifications du compilateur qui t'avertit alors de pas mal de problèmes dans ton code. Je te laisse lire par exemple https://emmanuel-delahaye.developpez...-codage-c/#LVI

    Je pense que tu mélanges les mots "langage" et "code". Le C est un langage et il y a un seul C (*) ; ce que tu nous montres est un code (écrit en langage C, et effectivement plutôt bas niveau, même si ça se discute) et il peut y avoir plusieurs codes écrit en C. On peut assimiler "langage" à "langue" et "code" à "texte". Comme un texte est écrit dans une langue, un code est écrit dans un langage. Et un seul langage (ou langue) peut servir à écrire plusieurs codes (ou textes).

    (*) : en fait il y a plusieurs versions du langage, mais ça reste grosso-modo le même langage.

Discussions similaires

  1. Réponses: 12
    Dernier message: 12/04/2019, 23h07
  2. Langages haut et bas niveau
    Par Ade14 dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 02/10/2014, 18h01
  3. Réponses: 151
    Dernier message: 26/03/2014, 04h50
  4. Terra : le nouveau langage de programmation bas niveau sort
    Par Cedric Chevalier dans le forum Autres langages
    Réponses: 1
    Dernier message: 24/05/2013, 12h43
  5. Descriptions formelles de chaque langage de bas niveau
    Par Julie++ dans le forum Assembleur
    Réponses: 3
    Dernier message: 25/10/2009, 18h48

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