Aumenta le dimensioni dello stack su Windows (GCC)
-
03-07-2019 - |
Domanda
Esiste un modo per aumentare le dimensioni dello stack di un'applicazione Windows in fase di compilazione / collegamento con GCC?
Soluzione
Potresti eseguire editbin dopo il collegamento.
Altri suggerimenti
IIRC, In GCC puoi fornire il parametro --stack, [bytes] a ld.
per es.
gcc -Wl,--stack,16777216 -o file.exe file.c
Per avere uno stack di 16 MiB, penso che la dimensione predefinita sia 8 MiB.
Esistono due dimensioni dello stack in Windows. La dimensione inizialmente impegnata e la dimensione totale riservata. Puoi impostare entrambi con un'istruzione STACKSIZE in un file .def.
Quando si creano thread si utilizza il paremater dwStackSize, ma non sono sicuro di come modificare le dimensioni del thread principale, questo indica che è presente nell'intestazione dell'exe, quindi potrebbe essere un'opzione per il compilatore / linker, altrimenti si è necessario trovare la parte pertinente dell'intestazione e modificarla da soli.
http://msdn.microsoft.com/en-us/library/ms686774 (VS .85) aspx