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

GDB em linha de comando para debugar programas em C

gdbO GDB (GNU project debugger), permite analisar o que está acontecendo dentro de outro programa enquanto ele está em execução, ou ver o que este estava fazendo no momento em que apresentou algum erro. Normalmente é utilizado por meio de ferramentas gráficas em algumas IDEs, mas pode ser usado em linha de comando também. Abaixo são mostrados alguns dos comando básicos para manipular a ferramenta.

Continuar lendo

Como gerar grafos no formato .dot usando JGraphT

grafoA linguagem DOT é uma linguagem para descrição de grafos interpretada pelo GraphViz e também pelo Gephi para visualização de grafos. A biblioteca JGraphT dispõe de classes para exportação de grafos para este formato.

O código abaixo em Java, cria um grafo aleatório e exporta para um arquivo .dot. A figura ao lado mostra o grafo com dez vértices gerado a partir do código de exemplo, como o programa gera grafos aleatórios, outras execuções podem resultar em grafos diferentes.

Continuar lendo