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 :

Premiers pas en C


Sujet :

C

  1. #1
    Membre éclairé
    Femme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 212
    Par défaut Premiers pas en C
    Salut à tous

    Je suis débutant en langage C,j'ai trouvé ces deux expression dans un cours ;et je n'arrive pas à faire le diffrence entre eux.

    #include<Nom_du_fichier.H>

    #include"Nom_du_fichier.H"
    Y a t'il quelqu'un qui peut m'aider
    Merci d'avances
    Cordialement

  2. #2
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <nom_du_fichier.h>
    Ca va chercher le fichier dans le répertoire include de ton compilateur, ou dans /usr/include si tu es sous linux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "nom_du_fichier.h"
    Celui là va chercher dans le répertoire du fichier à partir duquel tu fais l'inclusion.

    En général, les <....> sont des fichiers de référence, et les "...." sont les fichiers.h que tu as fait toi-même.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 867
    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 867
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par coyotte507 Voir le message
    ...ou dans /usr/include si tu es sous linux.
    Ce comportement est modifiable par l'adjonction d'options "-I" lors de la compilation...
    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]

  4. #4
    Membre éclairé
    Femme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 212
    Par défaut
    Bonsoir à tous

    Merci coyotte507et Sve@r pour tes réponses,en tout les cas mois je travaille sous Win.
    Si j'ai bien compri le compilateur vas chercher dans sa propre bibliotheque dans la première expression avec les <.....>.
    Et il vas chercher dans mes dossiers sur le bureau dans le deusième expression avec les "........".
    Cordialement

    Bon fete de Noel

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 14
    Par défaut
    Tu peux également spécifier les répertoires où le compilateur va chercher les fichiers include (ainsi que les autres fichiers comme les .lib,...). Dans Visual C++ par exemple, ceci peut-être paramètré au niveau du menu. Sous Unix c'est au niveau des makefile.

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par autoin Voir le message
    Si j'ai bien compri le compilateur vas chercher dans sa propre bibliotheque dans la première expression avec les <.....>.
    Que les choses soient claires tout de suite. Il ne faut pas utiliser le mot 'bibliothèque' à tord et à travers. Ce mot a une signification bien précise.

    <fichier.h> et "fichier.h" sont des fichiers d'interface (souvent d'une bibliothèque) aussi appelés fichiers d'entête.

    La bibliothèque elle même est un fichier bien à part (.a ou .lib) qui contient la définition (le code, l'implémentation) des fonctions.

    Je ne veux plus jamais voir le mot 'bibliothèque' mal utilisé...

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 977
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 977
    Par défaut
    Fio,
    Citation Envoyé par Emmanuel Delahaye Voir le message
    ...
    Je ne veux plus jamais voir le mot 'bibliothèque' mal utilisé...
    Aïe, tu vas souffrir, alors.

  8. #8
    Membre éclairé
    Femme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 212
    Par défaut
    Bonsoir à tous

    Je n'ai pas compris M Emmanuel Delahaye,comment ça te dérange de voir le mot de bibliotheque,j'ai trouvé cette ecriture dans les cours de C,et voila deux exemples:

    exemples: math.h : bibliothèque de fonctions mathématiques
    stdio.h : bibliothèque d'entrées/sorties standard

    Dans mon sujet ,j'ai preciser que c'est ma première pas dans langage C.
    Je veux bien comprendre les bases

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    C'est une abus de langage, mais étant débuttant tu devrais éviter de les utiliser! sinon c'est la compréhension des bases qui seront difficiles par la suite...
    ecoute ce que te dit emmanuel, tu économiseras du temps pour progresser plus vite.

  10. #10
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par autoin Voir le message
    Je n'ai pas compris M Emmanuel Delahaye,comment ça te dérange de voir le mot de bibliotheque,
    Ca me dérange de le voir mal utilisé ou désigner autre chose.

    "Mal nommer les choses, c'est ajouter aux malheurs du monde."
    -- Albert Camus

    j'ai trouvé cette ecriture dans les cours de C,et voila deux exemples

    exemples: math.h : bibliothèque de fonctions mathématiques
    stdio.h : bibliothèque d'entrées/sorties standard
    Alors tu peux changer de cours, car il est faux. C'est précisément ce genre d'usage erroné du mot bibliothèque contre lequel je lutte sans merci, car ça créee une grande confusion dans l'esprit des élèves (et de certains profs, visiblement) notamment le jour où :
    • on doit utiliser un bibliothèque tierce
    • on doit écrire notre propre bibliothèque.

    Dans mon sujet ,j'ai preciser que c'est ma première pas dans langage C.
    Je veux bien comprendre les bases
    C'est parce que je souhaite que tes premiers pas soient solides que j'insiste lourdement sur le choix du bon vocabulaire.

    Maintenant, si ça ne te convient pas, pas la peine de venir poster ici.

  11. #11
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Maintenant, si ça ne te convient pas, pas la peine de venir poster ici.
    Cool cool, c'est pas de sa faute si ses cours font des abus de language
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  12. #12
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 867
    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 867
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par autoin Voir le message
    Bonsoir à tous

    Je n'ai pas compris M Emmanuel Delahaye,comment ça te dérange de voir le mot de bibliotheque,j'ai trouvé cette ecriture dans les cours de C,et voila deux exemples:

    exemples: math.h : bibliothèque de fonctions mathématiques
    stdio.h : bibliothèque d'entrées/sorties standard
    Une bibliothèque est un ensemble de fonctions déjà toutes faites qui sont à ta disposition. Par exemple, tu cites "math" donc on va continuer sur cet exemple. Cette bibliothèque t'offre la fonction sqrt (racine carrée), sin/cos (sinus et cosinus), pow (puissance) et bien d'autres.
    Seulement si tu veux les utiliser (exemple tu demandes "sqrt(2.0)") tu es obligé de prévenir le compilo que tu vas utiliser la fonction "sqrt()" et que cette fonction renvoie un double. C'est ce qu'on nomme "déclaration" (tu déclares au compilo tout ce que tu utilises et comment ça s'utilise => ex: double sqrt(double)).
    Le pb c'est que ça devient vite chiant de devoir tout déclarer. C'est pour ça qu'avec la bibliothèque "math" il t'est offert un fichier nommé "math.h" qui contient toutes les déclarations des fonctions de la bibliothèque. En incluant ce fichier tu déclares d'un coup toutes les fonctions de la bibliothèque et t'as plus à t'embêter pour ça.

    D'où la distinction subtile (mais qu'il convient de savoir) entre
    - bibliothèque (appelé aussi "librairie") => code exécutable des fonctions dans un domaine particulier
    - headers associés (appelés aussi "fichiers d'en-tête") => déclaration des fonctions et des macro de la bibliothèque
    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]

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par défaut lib ... dll ?
    Salut à tous,
    Joyeux Noël,

    Tant que l’on est dans les questions « élémentaires » je me permets de poser la mienne.

    Je cite Emmanuel :

    « La bibliothèque elle même est un fichier bien à part (.a ou .lib) qui contient la définition (le code, l'implémentation) des fonctions. »

    En fait que contient le .lib uniquement la définition des fonctions ou bien son implémentation ? Dans ce dernier cas, le .dll, c’est quoi ?

    Merci,
    Pierre.

  14. #14
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Je pense que cette question (si elle n'est pas déjà dans la FAQ) mérite un nouveau thread (auquel je répondrai avec plaisir)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  15. #15
    Membre éclairé
    Femme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 212
    Par défaut
    Salut à tous .

    Veuillez m'execusez pour vous avoir importunne de ma façon d'écrire ou l'utilisation de Smileys,je veux seulement bien apprendre et comprendre le C
    Maintenant,j'ai compri ce truc là.

    Avec le grand respect pour tous,sans oublier M Emmanuel Delahaye

    Cordialement.

  16. #16
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par pierremx Voir le message
    En fait que contient le .lib uniquement la définition des fonctions ou bien son implémentation ? Dans ce dernier cas, le .dll, c’est quoi ?
    http://emmanuel-delahaye.developpez....m#bibliotheque

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par défaut Oui mais si je compile un .dll que contient le .lib ?
    Salut Emmanuel,

    Merci pour ces informations très intéressantes mais j’ai encore une question supplémentaire :
    Jusqu’à présent, sous VC++ express edition 2005, j’ai compilé soit des .exe soit des .dll par contre jamais de .lib car jusqu’à présent je n’en ai jamais eu la nécessité. Par contre lorsque je compile une dll, VC me fournit automatiquement un .lib mais ce dernier est d’une taille très petite par rapport à la dll. Dans le cas où l’on compile une bibliothèque dynamique, puis-je supposer que le .lib généré ne contient que les déclarations ou autres informations nécessaires à VC pour lier ultérieurement le .dll dans un autre projet VC++?

    Encore merci,
    Pierre.

  18. #18
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par pierremx Voir le message
    Par contre lorsque je compile une dll, VC me fournit automatiquement un .lib mais ce dernier est d’une taille très petite par rapport à la dll. Dans le cas où l’on compile une bibliothèque dynamique, puis-je supposer que le .lib généré ne contient que les déclarations ou autres informations nécessaires à VC pour lier ultérieurement le .dll dans un autre projet VC++?
    Non. Dans ce cas, ce .lib contient bel et bien du code :
    • chargement de la DLL
    • pointeurs de fonctions sur le code de la DLL
    • fonctions d'interfaces permettant d'utiliser les fonctions de la DLL comme des fonctions de bibliothèque statique.

    Il suffit de lire la doc sur les DLL (voir MSDN...)

    Je fourni ici un exemple du contenu d'un tel .lib :

    http://delahaye.emmanuel.free.fr/clib/pio

Discussions similaires

  1. premiers pas
    Par steeves5 dans le forum Hébergement
    Réponses: 5
    Dernier message: 24/12/2005, 04h27
  2. Premier pas sous C++
    Par Lachdanan dans le forum C++
    Réponses: 8
    Dernier message: 11/10/2005, 15h39
  3. premier pas dans la vie active
    Par godik dans le forum Emploi
    Réponses: 12
    Dernier message: 10/10/2005, 17h27
  4. [debutant] premier pas avec le SDK directX9
    Par arno2004 dans le forum DirectX
    Réponses: 6
    Dernier message: 27/05/2004, 22h03
  5. Réponses: 2
    Dernier message: 14/04/2004, 20h37

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