Software Design

Design de software em C, C++, Java, etc…

Arquivo da categoria: C++

Linux: Portabilidade de binários / Floating Point Exception (SIGFPE)

Problemas de ‘linkagem‘ utilizando binários compilados por diferentes versões do gcc podem complicar bastante a nossa vida. Um problema que aconteceu recentemente comigo foi quando compilei um binário que utiliza … Continuar lendo

janeiro 7, 2014 · Deixe um comentário

C++: Utilizando Hayai para benchmark de código

O Hayai é um framework para benchmark baseado no gtest do Google. A idéia é criar testes de performance de forma simples e rápida. Os tempos de execução são medidos … Continuar lendo

dezembro 11, 2013

C++: Marcando funções como obsoletas ( deprecated )

Não existe um recurso no padrão que defina uma forma para tornar uma função obsoleta, por isso cada compilador tem uma sintaxe diferente. No caso do g++ a sintaxe é … Continuar lendo

novembro 20, 2013 · Deixe um comentário

Dica: Utilizando varargs em diretivas #define

Recentemente precisei isolar um código legado para depuração e durante os testes precisava ver o que estava logado, porém o sistema em questão utiliza uma biblioteca de logs proprietária que … Continuar lendo

outubro 10, 2013 · Deixe um comentário

Dica Rápida sed + regex: Adicionando std:: antes de todos “exception”

Precisei recompilar um software legado escrito em C++ e para minha surpresa o código não compilava porque em vários arquivos a classe exception estava sendo referenciada sem o prefixo std:: … Continuar lendo

janeiro 28, 2013 · Deixe um comentário

C++: “Linkagem” estática da libstdc++

Quem programa em C++ para Linux e precisa gerar binários que rodem em diferentes distribuições sabe como isso pode ser uma tarefa árdua. Isso ocorre porque o programa linkado com … Continuar lendo

dezembro 13, 2012 · Deixe um comentário

C++ Oracle Client – Erro de timezone ( ORA-01804 )

Recentemente precisei instalar um serviço que utiliza banco de dados Oracle e começamos a ter a mensagem de erro: Error: ORA-01804: failure to initialize timezone information. O serviço foi compilado … Continuar lendo

novembro 27, 2012 · Deixe um comentário