Projeto destinado para confeção dos trabalhos da turma de Software Básico relacionados à JVM.
Atualmente o software é capaz de ler arquivos .class
e exibir o seu conteúdo
em formato JSON, de modo que seja possível a visualização dos dados contidos no
arquivo.
- g++ 11.3.0
- make 4.3
- cppcheck 2.7 ou maior
- valgrind 3.19.0 ou maior
- yajl-tools
Para executar o software, é necessário primeiro compilar o mesmo. Para isso,
basta executar o comando make
na raiz do projeto. Após a compilação, basta
executar o comando ./build/sb.exe <arquivo .class>
Dessa forma, ele irá exibir na saída padrão o conteúdo do arquivo .class
em
formato JSON.
make run file="assets/test-class/SimpleClass.class"
> {
"__cls": "ClassFile",
"magic_number": "0xCAFEBABE",
...
Os arquivos fontes do projeto estão localizados na pasta src
. Contribuiodores
podem criar arquivos de extensão .c
e .h
para implementar novas
funcionalidades. Depois, basta criar um Pull Request para que o código seja
revisado e, caso aprovado, será adicionado ao projeto.
Para adicionar testes ao projeto, basta criar um arquivo de extensão test.c
na
pasta test
. Após isso, basta executar o comando make test
para que os testes
sejam executados.
Este projeto utiliza o Catch2 para testes unitários. Para mais informações sobre
o Catch2, acesse o repositório oficial.
Caso seja necessário adicionar arquivos com dados necessários para os testes,
você pode adicioná-los dentro da pasta assets
.
Em sistemas Linux:
sudo apt install cppcheck
sudo apt install valgrind
sudo apt install yajl-tools
Em sistemas Windows o seguinte link disponibiliza instalador.
Para realizar uma análise estática basta executar:
make lint
Para realizar uma análise dinâmica basta executar:
make valgrind command="read" file="path para .class"