Pergunta:
Leia o trecho a seguir: “A pilha de registros de ativação (também chamada de pilha de execução ou pilha de ativação) cresce e diminui segundo as ativações ocorridas no programa em execução. Cada procedimento pode ter diversos registros distintos de ativação na pilha de ativação ao mesmo tempo, cada um deles representando uma ativação distinta.” LOUDEN, K. C. Compiladores: princípios e práticas. São Paulo: Cengage Learning, 2004. p. 356. Sobre as pilhas, podemos afirmar corretamente que: a) no caso de a função ser chamada de forma geral, todas as variáveis gerais e os parâmetros serão alocados em outra pilha. b) as variáveis secundárias são armazenadas na stack diretamente, que é a área de maior tamanho e menos eficiente na localização dos conteúdos. c) as pilhas de execução são grandes alocadoras de variáveis muito volumosas, sem criar erros na compilação e/ou na execução. d) na alocação de espaço na pilha, todas as variáveis que serão definidas dentro de cada função devem ser alocadas. e) na stack, são armazenados todos os tipos de dados, desde os muito pequenos até os que ocupam mais espaço.
d) na alocação de espaço na pilha, todas as variáveis que serão definidas dentro de cada função devem ser alocadas.
Explicação:
No contexto de pilhas de execução, como descrito no trecho, cada função ou procedimento tem seus próprios registros de ativação na pilha. Esses registros de ativação incluem informações como variáveis locais, parâmetros e outros dados necessários para a execução da função. Portanto, na alocação de espaço na pilha, todas as variáveis definidas dentro de cada função devem ser alocadas nesses registros de ativação específicos para a função em questão. Isso garante que cada ativação da função tenha seu próprio espaço na pilha para armazenar suas variáveis locais.
as alternativas A e D estão erradas
Explicação: