GCC

warning: Creating default object from empty value in /home/bughunter/bughunter.tecland.com.br/modules/taxonomy/taxonomy.module on line 1390.

Thread-local storage

Thread-local storage (TLS) nada mais é do que um método para tornar local para uma thread uma variável global ou estática. As vezes isto é necessário, como toda variável global e estática compartilham o mesmo endereço em cada thread em um processo. Diversas linguagens fornecem meios de tratar tal situação, vejamos como sanar esta questão em C usando o GCC.

Comandos e declarações em expressões

O GCC oferece várias extensões à linguagem, inclusive recursos que estão no ISO C99, mas não no C89 ou C++, sendo aceitos pelo GCC no modo C89 e em C++.

Vou dar uma olhada nessas extensões e ir postando para compartilhar com quem lê essa coisa. :)

Enfim, como está no título, a primeira extensão que veremos é essa.
Ela simplesmente permite criar um bloco com loops, switch, variáveis locais no lugar de uma expressão. Um uso interessante, seria em uma macro onde você não quer avaliar uma expressão mais de uma vez, como visto abaixo.