Ir para conteúdo
  • Cadastre-se
Entre para seguir isso  
Fernando Mercês

Chamada de testes para o pev v0.81

Posts Recomendados

Pessoal, temos planos de fazer um release da versão 0.81 do pev em breve. Queria pedir a ajuda de vocês para testar a última versão do código disponível em https://github.com/merces/pev. A ideia é baixar e compilar nos ambientes (Windows, Linux e macOS) e rodar os programas com alguns .exe de exemplo (vocês escolhem quais .exe analisar). Se der algum erro, etc, reportar aqui. Posso contar com vocês? 🙂

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites
$ make
cd lib/libpe && make all
make[1]: Entering directory '/mnt/vol2/Work/thirdparty/pev/lib/libpe'
make[1]: *** No rule to make target 'all'.  Stop.
make[1]: Leaving directory '/mnt/vol2/Work/thirdparty/pev/lib/libpe'
Makefile:9: recipe for target 'all' failed
make: *** [all] Error 2


Instalei as dependências contidas em README.md....

Note que meu diretório de trabalho é /mnt/vol2/Work/thirdparty/pev/

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, Fernando Mercês disse:

Pois é. Tem um subprojeto que é a libpe. Mas e aí, algum bug em princípio?

Abraços e obrigado!

Hehehe... tô dando uma olhada no código... Tenho um patch proce testar ai... (encerrei minha conta no GitHub, dai nada de PRs!)... :)

Não são bugs... só algumas pequeninas melhorias...


PS: Adicionei mais um monte de modificações e comentários de FIXME
Muitas modificações têm comentário FIX.

 

patch.diff

Editado por fredericopissarra
Novo attachment.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra modificação simples que acho interessante....
Algumas rotinas usam a técnica de limitar um buffer para conter uma string, declarando o buffer com tamanho fixo e usando snprintf... Por exemplo, usando a constante PATH_MAX:
 

char path[PATH_MAX];
...
snprintf( path, PATH_MAX, "%s/%s", dirname, filename);

No entanto, PATH_MAX é histórico e não corresponde ao tamanho máximo de um path na maioria dos sistemas operacionais (Windows, por exemplo, suporta até 32 KiB de path)... Uma maneira mais interessante seria alocar dinamicamente:

 

char *path;

asprintf(&path, "%s/%s", dirname, filename);
...
free(path);

Tá certo que asprintf() não existe no Windows, por exemplo, mas pode-se fazer algo assim:

https://bitismyth.wordpress.com/2015/02/28/nao-existe-asprintf-no-windows-sem-problemas/

Editado por fredericopissarra
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa interessante é usar a função strdupa() ao invés de strdup()... A primeira usa alloca() e livra-se do buffer, alocado na pilha, asim que a função sair do escopo...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×