J’ai remarqué que le code de noyau Linux utilise bool, mais je pensais que bool était un type C++. Est bool une extension standard de C (par exemple, ISO C90) ou GCC ?
Réponses
Trop de publicités?C99 ajouté un builtin _Bool
type de données (voir Wikipédia pour plus de détails), et si vous #include <stdbool.h>
, il fournit bool
comme une macro _Bool
.
Vous avez demandé sur le noyau Linux en particulier. Il suppose la présence d' _Bool
et fournit un bool
typedef lui-même dans include/linux/types d'.h.
Non, il n'y a pas d' bool
dans la norme ISO C90.
Voici une liste des mots clés dans la norme C (pas C99):
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
static
struct
switch
typedef
union
unsigned
void
volatile
while
Voici un article de l'examen de certains autres différences avec C comme utilisé dans le noyau et la norme: http://www.ibm.com/developerworks/linux/library/l-gcc-hacks/index.html