In C:C: come gestire una struttura di grandi dimensioni?
Sto tentando di utilizzare una struttura contenente un array di grandi dimensioni e ho un errore di overflow dello stack mentre lo dichiaro. Immagino (correttamente?) Che non abbia abbastanza memoria nello stack, e quindi, dovrei usare l'heap (non voglio cambiare la mia dimensione della memoria dello stack, dato che il codice verrà usato da altri). Qualcuno potrebbe mostrarmi un modo per farlo semplicemente? O dovrei usare qualcosa di diverso da una struttura?
Il mio codice - definitions.h:
#define a_large_number 100000
struct std_calibrations{
double E[a_large_number];
};
Il mio codice - main.c:
int main(int argc, char *argv[])
{
/* ...
*/
// Stack overflows here:
struct std_calibrations calibration;
/* ...
*/
return (0);
}
Grazie per il vostro aiuto!
'static struct std_calibrations calibration;' – BLUEPIXY