Closed Leo-Souto closed 6 years ago
Ok, consegui entender o problema, mas não sei se vai ser tão simples de resolver, como estamos definindo um L de início, e declaramos as funções usando esse L:
void gridMode(int tempo, double GRID[600][L]);
Ele ta entendendo que só tem esse tamanho L do início, e não o tamanho que chamamos nos optargs.
A possível solução que vejo é alocar dinamicamente. Então vou tentar fazer isso agora.
Aliás, aproveita e aloca dinamicamente esse [600]. Se a pessoa quiser mostrar mais "tempo" é esse número que tem que mudar, eu tinha feito uma optarg pra isso, mas foi perdido na bagunça dos códigos.
Cara, não faz sentido, tenta dar uma olhada: https://github.com/romcenci/DynamicSimulator/commit/462f4542a3d6af67306e8a9dbd7693a5fda3d0b1, não entendo pq ele ta dando falha de segmentação.
for (i = 0; i < 600; i++){ free(GRID[i]); } free(GRID);
??
Grid não é matriz?
Isso, depois eu descobri que so free(GRID) tambem funciona.
O bom é que agora deu pra colocar todas aquelas matrix GRID_mn em uma só e escolher o tamanho dependendo da situação.
fiz os dois make
rodei com a seguinte linha ./demos/ex0_dampedgks.out | ./DynSim -m 0 -l 1000 --width 1100 --height 600 não funcionou
o modo 2 rodou ./demos/ogl_ex2_ising.out | ./DynSim -m 2 -l 300 --height 600 --width 800