Sutilezas na alocação de espaço de memória em C

keep-calm-and-segmentation-faultNa linguagem C a declaração de uma estrutura de dados abstrata (struct) pode ser feita de várias maneiras bem distintas, o que na minha opinião é uma característica muito negativa porque pode gerar muitas confusões pela falta de um padrão bem estabelecido. Por conta disso, tive agora alguns problemas de alocação de memória ao trabalhar com uma forma que não estava habituado. Abaixo se encontra duas alternativas de alocar e desalocar espaço na memória declarando as estruturas como segue. Continuar lendo

Código fonte dos comandos básicos GNU/Linux

Trecho de código do rm.c

Trecho de código do rm.c

Se você alguma vez já teve a curiosidade de ver o código fonte de algum dos programas básicos de linha de comando GNU/Linux, está aqui um jeito de se obter todos eles.

Comandos básicos do Linux como, ls, wc, mkdir, pwd, etc, fazem parte de um pacote chamado Coreutils (GNU core utilities). Este pacote contem as ferramentas básicas necessárias para qualquer sistema operacional GNU. Continuar lendo