Maison  >  Article  >  développement back-end  >  Quel type de langage compilé est le langage C ?

Quel type de langage compilé est le langage C ?

王林
王林original
2019-11-01 16:47:474476parcourir

Quel type de langage compilé est le langage C ?

Qu'est-ce que le mode compilation ?

Le mode de compilation fait référence à la façon de placer le code du programme et les données en mémoire, à la manière d'allouer les piles, de confirmer la taille de la mémoire occupée et de savoir comment y accéder lorsque le mode mémoire (mode de compilation) est spécifié. , le langage Le compilateur va compiler et organiser le programme selon le mode mémoire présélectionné.

Le langage C propose 6 modes de compilation, ces 6 modes sont : Tiny, Small, Medium, Compact, Large ) et le mode géant (Huge). Les utilisateurs peuvent choisir en fonction de la taille de leur programme et de leurs besoins.

Mode de compilation du langage C—mode micro (Tiny)--pointeur proche

En mode micro, les données et le code du programme sont placés dans la même section, c'est-à-dire qu'ils ne dépassent pas 64 Ko. En mode micro, les adresses de segment du segment de code, du segment de pile et du segment de données sont toutes identiques, c'est-à-dire CS=DS=SS=ES.

Mode de compilation du langage C—Mode petit (Small)

En petit mode, le code du programme est placé dans le segment de code de 64 Ko et les données sont placées dans les 64 Ko dans le segment de données. En mode petit, le segment de pile, le segment de données supplémentaire et le segment de données pointent tous vers la même adresse, c'est-à-dire DS=SS=ES. Les pointeurs sont tous proches. Généralement, les programmes sont compilés en mode petit. .

Mode de compilation en langage C—Moyen

En mode moyen, toutes les données sont placées dans un segment de données de 64 Ko, donc près est utilisé dans le segment de données. le code peut être supérieur à 64 Ko (autorisé à atteindre 1 Mo), il peut donc être utilisé dans différents segments de code (pointeurs éloignés). Les modules de code de différents fichiers sources sont placés dans différentes sections de code.

Mode de compilation en langage C—Mode compact (Compact)

En mode compact, lorsque la quantité de données dépasse 64 Ko, elles peuvent être placées dans plusieurs segments de données. le pointeur à l’intérieur est (loin). La quantité de code ne dépasse pas 64 Ko et se trouve dans un segment, les pointeurs à l'intérieur du segment de code sont donc proches. Cependant, dans ce mode, les données statiques ne peuvent toujours pas dépasser 64 Ko et le tas utilise des pointeurs éloignés pour y accéder. Le code, les données statiques, la pile et le tas ont chacun leurs propres segments. Il n’y a que des tas éloignés, pas des tas proches.

Mode de compilation du langage C — Mode grand (Large)

En mode grand, le code et les données utilisent des pointeurs lointains, et les deux peuvent atteindre 1 Mo. Les données statiques, la pile et le tas sont identiques au mode compact, et le code est identique au mode moyen. Les données statiques restent les mêmes qu'en mode compact et ne peuvent pas dépasser 64 Ko.

Mode de compilation du langage C — Mode Énorme (Énorme)

En mode énorme, le segment de code et le segment de données utilisent des pointeurs lointains, et le code est distribué dans différents segments de code, les données sont également réparties dans différents segments de données, elles proviennent de différents programmes sources et il n'y a qu'une seule grande pile. Et la taille des données statiques peut dépasser 64 Ko.

Tutoriel recommandé : Tutoriel langage C

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Comment exécuter C++Article suivant:Comment exécuter C++