Espaces de noms
Variantes
Affichages
Actions

Filename and line information

De cppreference.com

 
 
Langage C++
Sujets généraux
Contrôle de flux
Instructions conditionnelles
Instructions d'itération
Instructions de saut
Fonctions
déclaration de fonction
expression lambda
fonction générique
spécificateur inline
spécification d'exception (obsolète)
spécificateur noexcept (C++11)
Exceptions
Espaces de noms
Types
spécificateur decltype (C++11)
Qualificatifs
qualificatifs const et volatile
qualificatifs de stockage
qualificatif constexpr (C++11)
qualificatif auto (C++11)
qualificatif alignas (C++11)
Initialisation
Littéraux
Expressions
opérateurs alternatifs
Utilitaires
Types
déclaration typedef
déclaration d'alias de type (C++11)
attributs (C++11)
Jette
Original:
Casts
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
conversions implicites
conversion const_cast
conversion static_cast
conversion dynamic_cast
conversion reinterpret_cast
conversions style C et style fonction
Allocation de mémoire
Classes
Qualificatifs spécifiques aux membres de classe
Fonctions membres spéciales
Modèles
classes génériques
fonctions génériques
spécialisation de modèles
paquets de paramètres (C++11)
Divers
Assembleur
 
 
Inclut le fichier source autre dans le fichier source de courant sur la ligne immédiatement après la directive .
Original:
Includes other source file into current source file at the line immediately after the directive .
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Sommaire

[modifier] Syntaxe

#line lineno (1)
#line lineno "filename" (2)

[modifier] Explication

Change le numéro de la ligne courante. préprocesseur à lineno extensions de la __LINE__ macro-delà de ce point sera étendu à lineno plus le nombre de lignes de code source réelles rencontrées depuis .
Original:
Changes the current preprocessor line number to lineno. Expansions of the macro __LINE__ beyond this point will expand to lineno plus the number of actual source code lines encountered since.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
change également le nom du fichier en cours de préprocesseur filename. Extensions de la macro __FILE__ de ce point va produire filename .
Original:
Also changes the current preprocessor file name to filename. Expansions of the macro __FILE__ from this point will produce filename.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Toute jetons de pré-traitement (macro constantes ou des expressions) sont autorisés comme arguments à #line tant qu'ils étendre à un nombre entier décimal valide éventuellement après une chaîne de caractères valide .
Original:
Any preprocessing tokens (macro constants or expressions) are permitted as arguments to #line as long as they expand to a valid decimal integer optionally following a valid character string.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[modifier] Notes

Cette directive est utilisée par certains outils de génération de code automatique qui produisent des fichiers source C + + à partir d'un fichier écrit dans une autre langue. Dans ce cas, les directives #line peut être inséré dans le C + + généré le fichier de référencement des numéros de ligne et le nom du fichier de l'original (d'origine humaine modifiable) du fichier source .
Original:
This directive is used by some automatic code generation tools which produce C++ source files from a file written in another language. In that case, #line directives may be inserted in the generated C++ file referencing line numbers and the file name of the original (human-editable) source file.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[modifier] Exemple

#include <cassert>
#define FNAME "test.cc"
int main()
{
#line 777 FNAME
        assert(2+2 == 5);
}

Résultat :

test: test.cc:777: int main(): Assertion `2+2 == 5' failed.