Le préprocesseur C ou cpp assure une phase préliminaire de la traduction (compilation) des programmes informatiques écrits dans les langages de programmation C et C++. Comme préprocesseur, il permet principalement l'inclusion d'un segment de code source disponible dans un autre fichier (fichiers d'en-tête ou header), la substitution de chaînes de caractères (macro définition), ainsi que la compilation conditionnelle. Dans de nombreux cas, il s'agit d'un programme distinct du compilateur lui-même et appelé par celui-ci au début de la traduction. Le langage utilisé pour les directives du préprocesseur est indépendant de la syntaxe du langage C, de sorte que le préprocesseur C peut être utilisé isolément pour traiter d'autres types de fichiers sources. Le préprocesseur s'occupe des quatre premières (sur huit) phases de traduction pour la norme C : Remplacement de tri-graphes : le préprocesseur remplace les séquences de tri-graphes par les caractères qu'ils représentent ; Raccordement de ligne : les lignes physiquement séparées mais qui sont connectées par des séquences de saut de ligne sont reliées pour former des lignes logiques ; Tokenisation : le préprocesseur découpe le code résultant en jetons (ou token) de pré-traitement et d'espaces insécables. Il retire les commentaires ; Expansion de macros et manipulation directive : les lignes contenant des directives de pré-traitement, dont l'inclusion de fichiers ou la compilation conditionnelle, sont exécutées. Le préprocesseur remplace chaque appel à une macro par sa définition. Dans la version 1999 de la norme C, il traite aussi les opérateurs _Pragma. L'usage le plus fréquent du préprocesseur C est la directive: #include dont le rôle est de recopier le contenu d'un fichier dans le fichier courant. On l'emploie généralement pour inclure les en-têtes de bibliothèques, telles que les fonctions mathématiques (#include ) ou les fonctions d'entrée/sortie standard (#include ). Dans l'exemple ci-dessous, la directive « #include

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (6)
CS-119(c): Information, Computation, Communication
L'objectif de ce cours est d'introduire les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'Informatique et de développer une première compétence en programmation (
PHYS-743: Parallel programming
Learn the concepts, tools and API's that are needed to debug, test, optimize and parallelize a scientific application on a cluster from an existing code or from scratch. Both OpenMP (shared memory) an
ME-213: Programmation pour ingénieur
Mettre en pratique les bases de la programmation vues au semestre précédent. Développer un logiciel structuré. Méthode de debug d'un logiciel. Introduction à la programmation scientifique. Introductio
Afficher plus
Séances de cours associées (30)
Compilation et C++ Basics
Couvre les bases de la compilation et de la programmation C ++, y compris les variables, les fonctions, les boucles et le débogage.
Image Macro Fonctions: Fonctions personnaliséesMOOC: Image Processing and Analysis for Life Scientists
Explore les fonctions personnalisées, les types de macros, la manipulation de chaînes et les unités de traitement d'images logiques.
Arrays: Déclaration, Accès, Initialisation
Couvre les bases des tableaux en C, y compris la déclaration, l'accès et l'initialisation.
Afficher plus
Publications associées (25)

Interpret3C: Interpretable Student Clustering Through Individualized Feature Selection

Vinitra Swamy, Paola Mejia Domenzain, Julian Thomas Blackwell, Isadora Alves de Salles

Clustering in education, particularly in large-scale online environments like MOOCs, is essential for understanding and adapting to diverse student needs. However, the effectiveness of clustering depends on its interpretability, which becomes challenging w ...
2024

Gemini: Elastic SNARKs for Diverse Environments

Alessandro Chiesa

We introduce a new class of succinct arguments, that we call elastic. Elastic SNARKs allow the prover to allocate different resources (such as memory and time) depending on the execution environment and the statement to prove. The resulting output is indep ...
SPRINGER INTERNATIONAL PUBLISHING AG2022

A modular functional framework for the design and evaluation of multi-robot navigation

Alcherio Martinoli, Cyrill Silvan Baumann

In this work, we address the design of tightly integrated control, estimation, and allocation algorithms allowing a group of robots to move collectively. For doing so, we leverage a modular framework that allows us to define precisely the needed functional ...
2021
Afficher plus
Personnes associées (1)
Concepts associés (16)
Include directive
Many programming languages and other computer files have a directive, often called include, import, or copy, that causes the contents of the specified file to be inserted into the original file. These included files are called s or copybooks. They are often used to define the physical layout of program data, pieces of procedural code, and/or forward declarations while promoting encapsulation and the reuse of code or data. In computer programming, a header file is a file that allows programmers to separate certain elements of a program's source code into reusable files.
Préprocesseur
En informatique, un préprocesseur est un programme qui procède à des transformations sur un code source, avant l'étape de traduction proprement dite (compilation ou interprétation). Les préprocesseurs sont des exemples typiques de langages spécialisés. Selon le niveau de leur analyse du texte source, on distingue des préprocesseurs lexicaux et des préprocesseurs syntaxiques. Les préprocesseurs lexicaux sont les préprocesseurs de plus bas niveau, au sens où ils requièrent uniquement un mécanisme d'analyse lexicale.
C syntax
The syntax of the C programming language is the set of rules governing writing of software in the C language. It is designed to allow for programs that are extremely terse, have a close relationship with the resulting object code, and yet provide relatively high-level data abstraction. C was the first widely successful high-level language for portable operating-system development. C syntax makes use of the maximal munch principle. C data types The C language represents numbers in three forms: integral, real and complex.
Afficher plus

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.