Skip to content

Latest commit

 

History

History
19 lines (14 loc) · 883 Bytes

File metadata and controls

19 lines (14 loc) · 883 Bytes

Pergunta

52 - É possível, com o C#, aceder à heap sem gestão automática da memória (isto é, sem intervenção do garbage collector)? Se sim, como?

Soluções

Solução 1

  • O garbage collector não é manipulável, e assim sendo é ele que faz toda a gestão automática de memória. No entanto existe ainda uma forma, sem gestão automática de memória de o fazer:
    • Acedendo à heap através de apontadores e endereços de memória que é muito comum em C. Em C# usamos os blocos de código unsafe{} pois por omissão C# não suporta ponteiros aritméticos, no entanto, usando a keyword unsafe podemos definir um contexto em que os apontadores podem ser usados. Blocos unsafe{}, quando são usados de maneira eficiente, são ótimos para melhorar a perfomance das aplicações.

Por Rodrigo Marques.