Saturday, December 31, 2011
Wednesday, December 21, 2011
C/C++ alternative preprocessing tokens
C++ has a set of alternative preprocessing tokens:
2.5/1
and_eq &=
and &&
xor_eq ^=
or ||
[..]
It turned out that C has them as well:
7.9
cat 4.6.3/include/iso646.h
#ifndef _ISO646_H
#define _ISO646_H
#ifndef __cplusplus
#define and &&
#define and_eq &=
#define bitand &
#define bitor |
#define compl ~
#define not !
#define not_eq !=
#define or ||
#define or_eq |=
#define xor ^
#define xor_eq ^=
#endif
#endif
2.5/1
and_eq &=
and &&
xor_eq ^=
or ||
[..]
It turned out that C has them as well:
7.9
The header iso646.hdefines the following eleven macros (on the left) that expand to
the corresponding tokens (on the right):
cat 4.6.3/include/iso646.h
#ifndef _ISO646_H
#define _ISO646_H
#ifndef __cplusplus
#define and &&
#define and_eq &=
#define bitand &
#define bitor |
#define compl ~
#define not !
#define not_eq !=
#define or ||
#define or_eq |=
#define xor ^
#define xor_eq ^=
#endif
#endif
Wednesday, December 14, 2011
rq_of_rt_rq...
kernel/sched_rt.c
[..]113 static void dec_rt_migration(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq)
114 {
115 if (!rt_entity_is_task(rt_se))
116 return;
117
118 rt_rq = &rq_of_rt_rq(rt_rq)->rt;
119
120 rt_rq->rt_nr_total--;
121 if (rt_se->nr_cpus_allowed > 1)
122 rt_rq->rt_nr_migratory--;
[..]
Try to read `rt_rq = &rq_of_rt_rq(rt_rq)->rt;' fluently :-)
Sunday, December 11, 2011
LinuxFr.org: Interview with Andrew Tanenbaum
Andrew Tanenbaum on Linux, GPL and stuff
LinuxFr.org : Do you think the Linux success is a proof he was right
or is it unrelated?
Andrew Tanenbaum : No, Linux "succeeded" because BSD was frozen out of
the market by AT&T at a crucial time. That's just dumb luck. Also, success
is relative. I run a political website that ordinary people read. On that
site statistics show that about 5% is Linux, 30% is Macintosh (which is BSD
inside) and the rest is Windows. These are ordinary people, not computer
geeks. I don't think of 5% as that big a success story.
Subscribe to:
Posts (Atom)