Bonjour et bienvenue.
Dans cette conférence, je veux parler à propos de l'instruction include.
Et ainsi de nouveau, de notre premier contester notre
première exposition au code c et au programme c, vous devriez avoir remarqué cette déclaration d'inclusion.
C'est sur la ligne huit ici dans ce exemple, et
ceci est notre exemple de programme c de base de projet défi.
Vous voyez que c'est inclus.
Et maintenant parce que nous avons appris à propos du préprocesseur,
nous savons que c'est une directive de préprocesseur parce que nous avons ce symbole de livre.
Tout ce qui commence par le le symbole dièse
avant tout autre espace est une commande de préprocesseur, une directive de préprocesseur.
Et donc nous savons que la ligne huit comprend Le mot clé spécial avec
le symbole dièse est une directive prétraitée.
Je veux maintenant t'expliquer qu'est-ce que cela fait exactement?
Qu'est-ce que ça veut dire?
Encore une fois, c'est un concept de base en c dont nous devons
parler très tôt car chaque programme c l'a.
C'est très similaire si vous êtes familier avec java avec l'instruction d'importation.
Mais nous allons décrire cela dans détails maintenant dans certaines diapositives, mais vous
verrez cela dans tous vos programmes c.
Ainsi, l'instruction include est une directive préprocesseur à cause de ce symbole
dièse, nous le savons.
Et nous l'appelons une déclaration comme opposé à une directive sans raison réelle,
simplement parce qu'il est commun à utilisez ce terme dans le langage de programmation,
mais c'est une directive techniquement.
Et encore une fois, l'exemple dans notre programme incluait ce quelque
chose dans ces crochets angulaires.
Nous voyons donc cela inclure le mot-clé et puis nous voyons ce stdio. h.
Et donc ceci est un exemple.
C'est celui que nous utilisé dans notre premier défi.
Ce n'est pas strictement une partie du programme exécutable.
Cependant, le programme ne fonctionnera pas sans cela.
Nous savons que c'est un directive pré-traitée.
Cela ne fait pas vraiment grand chose dans la mesure où le programme fonctionne.
C'est juste dire au compilateur avant qu'il ne s'exécute, hé, nous faisions quelque chose ici
avec cet include.
Et donc si tu ne l'as pas là, le compilateur va se
plaindre et lancer des erreurs.
Vous en avez donc besoin.
Le symbole dièse indique que c'est une directive de prétraitement.
Nous en avons parlé, qui est une instruction à votre compilateur de
faire quelque chose avant compiler le code source.
Il existe de nombreux prétraitements directives, et nous avons donné quelques exemples dans
notre conférence de pré-traitement.
Nous avons parlé de constantes, déclarations définies.
Nous avons parlé de si et d'autre et ainsi de suite différentes
directives de prétraitement conditionnel.
Mais c'est l'un des plus vraiment ceux couramment utilisés, le include.
Et donc encore une fois, ces directives peuvent être n'importe où dans votre code source, mais ils
sont généralement en haut.
Dans l'inclusion spécifiquement, ce La directive du préprocesseur include est très similaire à
l'instruction d'importation en java si vous êtes familier avec cela.
Mais qu'est ce que ça veut dire?
Donc dans l'exemple ci-dessus ici avec le symbole d'inclusion dièse stdio. h, ceci indique à votre compilateur
pour inclure une partie du contenu de votre programme dans
le fichier portant ce nom.
Il y a donc un nom de fichier qui existe quelque part appelé stdio. h.
Et ce que dit la directive, c'est mon programme actuel qui contient la
directive a besoin de certains des contenus à l'intérieur de ce fichier afin de compiler.
Donc spécifiquement l'inclusion directive va avoir des noms de fichiers qui se
terminent par. h.
Ceux-ci sont appelés fichiers d'en-tête.
Ils sont appelés fichiers d'en-tête car ils sont généralement
inclus en haut du fichier source.
C'est l'une des premières choses que vous faites est-ce que vous incluez tous vos fichiers d'en-tête.
Et encore une fois, ce préprocesseur directive
dit que je veux une partie du contenu de ce fichier.
Ce n'est pas un fichier c.
Nous savons que les fichiers qui se terminent dans un . c sont des fichiers source c.
Alors le . h doit être autre chose, et ça l'est.
C'est un fichier d'en-tête.
Et il a ça. extension h.
Alors parlons de ce qu'est un fichier d'en-tête.
Les fichiers d'en-tête définissent les informations à propos de certaines des fonctions
fournies par ce fichier.
Et je vais vous donner un exemple du contenu dans un fichier d'en-tête.
Mais d'abord, ils définissent certains des informations sur un code source.
Et spécifiquement pour notre exemple avec cela inclus stdio. h, ceci inclut un en-tête de
bibliothèque standard c.
Alors souviens-toi, j'ai dit vous sur les bibliothèques.
Les bibliothèques ne sont que des compléments fonctionnalité qui est déjà écrite pour
vous et c que vous peut inclure dans votre programme afin que vous
n'ayez pas à le réécrire.
Encore une fois, des exemples de bibliothèques sont lire et écrire sur la console, afficher
la sortie, lire et écrire des fichiers, toutes sortes de choses différentes faisant
du code de réseau, beaucoup de nombreuses bibliothèques différentes là-bas.
Mais stdio. h est une bibliothèque standard c.
Ce que cela signifie, c'est qu'il est livré avec le
langage de programmation c et il fournit des fonctionnalités pour afficher sortie parmi beaucoup d'autres choses.
Alors stdio. h, c'est un fichier d'en-tête.
Il définit certaines fonctionnalités qui le compilateur doit comprendre avant
de pouvoir l'utiliser.
Donc spécifiquement stdio. h contient informations sur printf.
Et donc nous allons parler à propos de printf dans
la prochaine conférence qui nous aide à afficher la sortie, mais printf est une fonction qui
se trouve dans le stdio. h fichier d'en-tête.
Et il contient également de nombreuses autres fonctions.
Stdio est l'abréviation de sortie d'entrée standard.
Donc, cette bibliothèque décrit il contient des fonctionnalités pour traiter les entrées
et les sorties.
Et c'est donc le concept d'utiliser un nom significatif.
Nous ne voulons pas appeler ça bibliothèque Jason ou Jason. h parce que cela n'a pas
de sens.
Nous utilisons stdio. h parce que il dit standard io.
Entrée et sortie standard, et nous savons cela, cette bibliothèque contient toutes sortes de
fonctionnalités pour l'importation alpha.
Plus précisément une fonctionnalité qui nous voulons utiliser dans notre programme de défi, notre
premier programme d'exemple est-ce que nous voulons utiliser cette fonction appelée
printf, qui nous permet afficher la sortie vers la console.
Et donc en incluant ce stdio. h dans notre code source, nous disons afin d'utiliser cette fonctionnalité
de ce printf, nous devons inclure ce fichier.
Donc, les incendies d'en-tête vont spécifier informations que le compilateur
utilise pour intégrer et utiliser toute réutilisation code, toutes les fonctions d'un programme.
Donc vous allez soit en utiliser plusieurs de nombreux fichiers d'en-tête de
bibliothèque standard différents et là-bas, stdio. h est juste un.
Il y a encore des fichiers d'en-tête qui définissent prototypes de fonctionnalités ou de
fonctions pour le code réseau, le code socket.
Encore une fois, nous allons passer par un beaucoup d'entre eux, des chaînes pour des mots complets et
des choses comme ça.
Mais en plus de la norme c bibliothèque dans les différentes bibliothèques fournies avec la
programmation c langue, vous pouvez également créer vos propres fichiers
d'en-tête, et vous serez créer vos propres fichiers d'en-tête car les fichiers
d'en-tête permettent la réutilisation des logiciels.
Ils vous permettent de réutiliser fonctionnalité écrite en c.
Alors quelque part les concepteurs de c ont écrit tout ce code c qui lit et écrit
des données et gère les entrées et sorties.
Ils ne veulent pas de ce nouveau programmeur C avoir à écrire le leur.
Alors ils vont écrire il pour
vous, et ils diront que vous pouvez l'utiliser.
Et la façon dont vous l'utilisez est vous incluez le fichier d'en-tête.
Et donc vous en tant que votre propre développeur, vous pouvez écrire du code dans un gros,
gros programme, des milliers de fichiers vous souhaitez être utilisé dans d'autres fichiers.
Et ainsi tu écriras vos propres fichiers d'en-tête.
Et les fichiers d'en-tête, encore une fois, vont définir
des prototypes de fonctions, différentes constantes, toutes sortes de choses différentes
qui vont aider un autre fichier qui peut utiliser votre programme, il aidera
à compiler votre programme.
C'est donc une réutilisation de logiciels technique essentiellement.
Nous allons donc inclure ceci standard io. fichier d'en-tête dans un programme chaque
fois que nous devons utiliser la fonction printf de la
bibliothèque standard, elle est requise.
Si vous n'avez pas inclus il, il ne se compilera pas.
Donc, chaque fois que vous utilisez certaines fonctionnalités, vous
devez utiliser le include.
La syntaxe jusqu'aux fichiers d'en-tête allez, ils sont sensibles à la casse.
La sensibilité à la casse signifie majuscules ou minuscules.
Il importe que vous faites l'un ou l'autre.
Donc tu devrais toujours écrivez-les en minuscules.
Vos fichiers d'en-tête doivent être au format minuscules car sinon
certains systèmes peuvent interpréter ils ont une signification différente.
Il y a deux façons d'inclure les fichiers d'en-tête dans un programme.
Vous pouvez utiliser des chevrons tels que livre comprennent
Jason. h et équerres.
Et ce que cela signifie généralement, c'est dire au préprocesseur de rechercher
un fichier dans une sorte de répertoire système.
C'est généralement une bibliothèque standard qui est livré avec le langage de programmation c.
Vous pouvez également utiliser des guillemets doubles.
Les guillemets doubles signifient généralement c'est un fichier d'en-tête défini par l'utilisateur.
C'est celui que vous avez créé en tant que développeur qui n'est
pas venu avec le langage de programmation c mais vous voulez y avoir cet en-tête
parce que vous voulez réutiliser du code.
Donc ça va aussi dire regardez dans le répertoire courant.
Chaque compilateur C conforme à la norme C11 aura
un ensemble d'en-tête standard fichiers fournis avec.
Ce ne sont que des fichiers d'en-tête qui représentent des bibliothèques.
Fonctionnalité C qui vient avec la langue.
Lorsque vous utilisez la directive include, il est courant d'utiliser les autres directives du préprocesseur
sinon rechercher et définir, afin de ne pas inclure le fichier
plus d'une fois.
C'est pour l'efficacité.
Donc, si votre programme utilise printf, par exemple, en affichant la sortie
à l'écran, vous voulez dire à votre programme, hé, je dois inclure cette
fonctionnalité supplémentaire dans la bibliothèque standard.
Tu ne veux pas lui dire l'inclure plus d'une fois car le préprocesseur en
fera beaucoup des choses qu'il n'a pas besoin de faire.
Donc typiquement vous utiliser si non défini.
Donc, vous verrez une partie de cela dans certains des exemples que je
fournis où j'emballe les inclus dans ceux-ci si ne définit pas et ne définit pas les déclarations.
Voici un exemple de fichier d'en-tête dans son contenu.
Vous pouvez avoir un fichier d'en-tête, contient des commentaires, il pourrait
y avoir d'autres éléments.
Il a principalement une fonction prototypes dedans, mais il peut avoir
des constantes, il peut avoir des typedefs.
Voici quelques concepts qui nous ne comprenons pas encore.
Mais j'essaye juste d'illustrer essayer de vous aider à comprendre qu'il
contient de nombreuses choses différentes.
Mais encore une fois pour notre stdio. h, il y a quelque chose appelé printf qui définit la fonction printf de
sorte que lorsque nous lions, nous pouvons trouver le code
d'implémentation pour cela.
Voici donc quelques prototypes de fonctions.
Les prototypes de fonction sont juste des noms de fonctions.
Nous savons ce qu'est une fonction j'espère que maintenant, c'est juste
une façon de regrouper le code.
Nous parlerons des fonctions plus en détail plus tard.
Ainsi, un fichier d'en-tête peut inclure beaucoup de choses différentes.
Il peut inclure des directives définies, constantes, déclarations de structure.
C'est encore une façon de regrouper différents variables, regroupez différentes données.
Les instructions Typedef ont à voir avec les types de données.
Nous en reparlerons plus.
Mais les prototypes de fonction sont vraiment le plus important.
Ils vous disent comment fonctionne sont définis, afin que le compilateur puisse générer le code
dont il a besoin.
Le code exécutable va dans un fichier de code source.
Le fichier de code source se termine dans le . extension c.
Code exécutable normalement ne va pas dans un fichier d'en-tête.
Il y a quelques exceptions.
Lorsque vous voulez faire des choses en ligne ce qui est encore une
fois une chose d'efficacité quand on peut mettre
code source dans des fichiers d'en-tête, mais généralement un. fichier h, un le fichier d'en-tête ne contiendra pas de code d'implémentation.
Ça va contenir des lignes de code pour juste des définitions.
Très bien, ça ne va pas être une logique là-dedans.
Ce ne sera que des définitions.
Cette fonction existe.
Ces constantes existent.
Ces différentes structures existent.
Ils ne disent pas comment ce code fait ce qu'il fait.
C'est juste vous dire que c'est là.
Il est nécessaire au compilateur pour générer le lien.
Ok, alors tu vas créez vos propres fichiers d'en-tête.
Vous allez utiliser l'en-tête système fichiers pour des fonctionnalités supplémentaires.
C'est un concept dont vous avez besoin comprendre avant de passer à
l'écriture de programmes c parce que vous allez voir
cette directive inclure dans tous les programmes.
Et c'est juste dire au programme encore une fois, nous incluons un
code supplémentaire quelque part.
Nous incluons une définition supplémentaire code afin que nous puissions
maintenant invoquer ces différentes fonctions dans ce code différent dans notre programme c.
J'espère donc que cela a du sens.
Encore une fois, ce n'est pas un vrai concept compliqué.
Nous incluons du code supplémentaire.
C'est assez intuitif, mais nous allons l'examiner, nous fournirons d'autres
exemples au fur et à mesure.
Merci.