Dann Luciano

A lifelong student of the art of programming computers!

ISO646 Ou iso646.h

| Comments

Muitos programadores alegam que linguagens com python ou ruby são mais faceis de entender pois essas linguagens possuem nomes mais apropriados para comandos e etc. Uma vez li em um blog (até sei qual o post, mas Ética é Ética) que em python operações booleanas eram mais compreensíveis, pois usavam nomes mais intuitivos como and or xor ao contrario de && || ^ respectivamente.

Hoje em meus estudos sobre C eis que encontro um cabeçalho (header) chamado iso646.h localizado em /usr/include/. Olhando o seu pequeno conteúdo podemos ver algo parecido com isso:

1
2
3
4
5
6
7
8
9
10
11
#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	^=

A dica é muito cuidado com o que você fala, principalmente se você não tem um profundo entendimento do assunto.

Se você conhece alguém que diz que sabe muito sobre C, duvide, pois é impressionante como a cada fim de semana mergulhando nas profundezas da linguagem aprendo mais e mais.

Graças ao @dmitrynix acabei descobrindo que este cabeçalho não existe no Linux. O porque eu não sei, mas este é um bom motivo para lembrar do porque do Linux não ser considerado um ambiente POSIX. Mas se você usa o gcc ou clang ambos disponibilizam o cabeçalho em:

  • GCC /usr/lib/gcc/x86_64-linux-gnu/4.6/include/iso646.h ou
  • clang /usr/include/clang/3.0/include/iso646.h

Não se esqueça que dependendo da instalação os nomes e locais dos arquivos podem mudar.

Abaixo seguem alguns links sobre o assunto:

Comments