J'ai une question sur les #ifdef _cplusplus..
Tel que je le comprends, le code fonctionne comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #ifdef _cplusplus namespace std { extern "C" { #endif // int printf(const char*) // #ifdef _cplusplus } } #endif
#ifdef _cplusplus est une macro. Elle est "vraie" si le fichier est du C++ ou si l'on code en C++.
Si cette macro est vrai, le curseur passe ensuite sur namespace std;
puis sur extren "c"{
Si c'est faux, il passe directement a int printf()
Pour moi, ca permet de faire comprendre au compilo qu'il va lire du code en C alors qu'il est en C++. Quand on rentre dans le crochet ifdef _cplusplus, on a extren "C"
Il s'agit d'une redeclaration, non d'une definition
On trouve ce genre de code dans les Header ?
Partager