Si quiero usar una matriz grande, digamos mpz_t A [100000], recibí "Error de segmentación (núcleo volcado)" durante mi compilación. ¿Hay alguna manera más fácil de resolver esto?
programming-paradigms
usuario12290
fuente
fuente
Respuestas:
El comentario de tpg2114 es perfecto. Tratar:
Si la
malloc
llamada aquí desencadena un error, no tiene suficiente memoria disponible en su sistema.Si está interesado en usar una matriz estática en la pila, puede intentar aumentar el tamaño límite de la pila en Linux con el
ulimit
comando.fuente
free(A)
ejemplo!También puede considerar usar
mpz_class
en C ++ ( ref .) En lugar dempz_t
. Puede hacer aritmética de precisión arbitraria directa.Aquí hay un ejemplo al azar:
Compilado con, por ejemplo:
fuente