Arquivo da categoria ‘Linguagem C’

A biblioteca glibc, na versão 2.18, foi liberada no dia 12/08/2013. Mas o que é a glibc? Pretendo escrever outro post para descrever com mais detalhes essa resposta, mas em resumo…

Toda aplicação escrita em linguagem C, para ser executada num ambiente com ou sem sistema operacional, faz uso da biblioteca padrão C. Portanto, todo sistema Unix-like precisa de uma implementação dessa biblioteca, sendo que a mais utilizada em sistemas Linux é a glibc (GNU C Library). Existem outras implementações, dependendo da aplicação final, tais como uClibc, dietlibc, musl, Newlib, EGLIBC, etc.

Mesmo uma aplicação simples, contendo somente a instrução return 0, precisa da biblioteca padrão C? Sim! A não ser que você implemente todas as funções de bootstrap, tal como _start, as quais são chamadas pelo sistema operacional ou código de start-up ao executar o binário da aplicação em memória. Sem maiores detalhes, vamos às grandes mudanças nessa nova versão da glibc:

– Melhorado o suporte ao padrão C++11, referente ao uso de objetos do tipo thread_local;

– Melhorado o pior caso de performance das funções da biblioteca matemática libm;

– Adicionado suporte à herança de prioridade em mutex usado em pthread condition variables em arquiteturas não-x86;

– Adicionado suporte às arquiteturas Xilinx MicroBlaze e POWER8.

Todas as mudanças podem ser conferidas aqui.

Até mais,

Henrique

Como ocorre anualmente, o evento TDC2013 São Paulo (The Developer’s Conference) contou com diversas trilhas sobre assuntos diversos, tal como agile, cloud, games, testes, etc. Além dessas, foram realizadas trilhas de C/C++, Embedded e Segurança, das quais eu tive o prazer de participar.
 
Tanto a trilha de segurança quanto a trilha de embarcados foram estreantes, graças à força de vontade e entusiasmo de pessoas como Alberto Fabiano, Alan Silva e Vinicius Senger. Muito obrigado pessoal!!
 
Fiquei muito mais agradecido pois pude contribuir um pouco para a trilha de segurança, apresentando uma palestra sobre codificação segura em C para sistemas embarcados. A mesma teve o seguinte foco:
 
– Por que usar linguagem C?
– Como evitar alguns erros simples
– Padrões de codificação
– Ferramentas de análise estática e dinâmica de código
– Ataques comuns (code injection e arc injection)
– Uso de alocação dinâmica de código
 
O download da apresentação pode ser feito aqui, mas também a disponibilizei no meu slideshare.
 
Espero que este conteúdo ajude a comunidade de sistemas embarcados! Obrigado novamente aos organizadores e ao público fera desse evento, e podem contar comigo para o próximo ano!
 
Abraços,
Henrique