Ir ao conteúdo

Aumentar a pilha de chamadas Code:blocks/Mingw


marcel.mc

Posts recomendados

Postado

Alguém sabe como aumentar o tamanho da pilha de chamadas do MinGw no Codeblocks? Abri o menu project > build options > linker settings > other linker options e acrescentei a linha -Wl,--stack,51200. Não obtive resultado, alguém sabe me dizer o por que ou tem outra solução? Muito obrigado.


 

Postado

@marcel.mc

 

 

Alguém sabe como aumentar o tamanho da pilha de chamadas do MinGw no Codeblocks? Abri o menu project > build options > linker settings > other linker options e acrescentei a linha -Wl,--stack,51200. Não obtive resultado, alguém sabe me dizer o por que ou tem outra solução? Muito obrigado.


 

 

 

Se me recordo bem, o tamanho padrão da pilha no MinGW é de 2 MB (2097152 bytes). O valor naquele parâmetro é expresso em bytes. O valor que você especificou está bem abaixo disso (50 KB)...

 

Sugiro aumentar para 8 MB = 8388608 bytes.

 

 

 

LNW

Postado

Cara continuo com o mesmo problema. Coloquei o valor como 10 para ver se bugava mais rápido e como 1073741824 (1GB) para ver a diferença, mas o erro acontece da mesma forma A impressão é que o comando:

 

project > build options > linker settings > other linker options e acrescentei a linha -Wl,--stack,(tamanho)

não é executado. Preciso fazer milhares e até milhões chamadas da pilha e a padrão estoura com cerca de 40.000 a 50.000 chamadas. Tem ideia de como me ajudar?

Postado

@marcel.mc

 

 

Eu não uso essa IDE, mas ao que indica, esse local parece ser o adequado para inserir essa opção.

 

 

Você teria algumas opções para conferir se está funcionando ou não:

 

 

1) Compile o seu programa na linha de comando. Aí você tem certeza que a opção está em efeito.

 

2) Abra o Gerenciador de Tarefas e acompanhe o consumo de memória do seu executável. Eu montei um exemplo recursivo que faz 300.000 chamadas, com duas variáveis locais inteiras e mais uma float. O total gasto é de quase 15 MB:

 

 

stack.png

 

 

 

 

 

LNW

Postado

Pessoal consegui resolver o problema usando o comando -Wl,--stack="numero de bytes" sem as aspas no Codeblocks. 

 

menu project > build options > linker settings > other linker options >  -Wl,--stack="numero de bytes".

 

Vou dar o tópico como resolvido. Caso alguém tenha um problema semelhante informe que talvez poderei ajudar.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!