romcenci / DynamicSimulator

A tool to assist in the visualization of simulations and dynamics of physical systems, in 1 and 2 dimensions.
Other
0 stars 0 forks source link

Modo 0 com falha de segmentação #25

Closed Leo-Souto closed 6 years ago

Leo-Souto commented 6 years ago

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

romcenci commented 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.

Leo-Souto commented 6 years ago

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.

romcenci commented 6 years ago

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.

Leo-Souto commented 6 years ago

for (i = 0; i < 600; i++){ free(GRID[i]); } free(GRID);

??

Grid não é matriz?

romcenci commented 6 years ago

Isso, depois eu descobri que so free(GRID) tambem funciona.

romcenci commented 6 years ago

O bom é que agora deu pra colocar todas aquelas matrix GRID_mn em uma só e escolher o tamanho dependendo da situação.