Tag Archives: gcc

C/C++: cannot open shared object file

As bibliotecas compartilhadas são carregadas no início da execução de um programa. No Linux, o dynamic loader procura pelas bibliotecas em /lib e /usr/lib. Caso a biblioteca não esteja presente neste caminho, recebemos uma mensagem de erro parecida com a … Continue reading

Posted in C, CPP, Linux | Tagged , , , , , , , | 7 Comments

C, C++: Vetores de tamanho zero

Um recurso bastante útil do GCC (apenas) são vetores de tamanho zero. O uso é permitido apenas como último elemento de uma estrutura de dados. struct pessoa { int idade; char nome[0]; }; printf(“%d\n”, sizeof(struct pessoa)); // Imprime “4” Note … Continue reading

Posted in C, CPP | Tagged , , , , , , | 7 Comments

C, C++: Banir funções usando o pré-processador

Quem usa o GCC pode tirar vantagem do pré-processador para banir de vez do código algumas funções consideradas maléficas como gets() e sprintf(), por exemplo. Basta acrescentar no seu código a seguinte linha: #pragma GCC poison gets sprintf Um erro … Continue reading

Posted in C, CPP | Tagged , , , , , , | 1 Comment

C++: hash_set, hash_map

Apesar dos templates para hash_set e hash_map não serem padronizados, ambos são relativamente comuns, estando disponíveis tanto na implementação GNU (ie, no GCC) quanto no Visual C++ no Windows. Existem algumas diferenças, como o namespace um pouco mais escondido no … Continue reading

Posted in CPP | Tagged , , , , , , | Leave a comment