¿Cuál es el diseño de memoria de una clase CLR?Disposición de memoria de clase CLR
Viniendo de un fondo C++, el diseño de memoria de una clase C++ con funciones virtuales comienza con un puntero v-table, y luego los miembros de datos de la clase siguen en la memoria.
¿Las clases CLR con funciones virtuales tienen un puntero v-table? ¿Este puntero es el primer campo en el diseño de la memoria de la clase? ¿Hay campos adicionales en un diseño de memoria de clase CLR además de los miembros de datos definidos por los programadores? ¿Y qué representan estos campos adicionales?
el diseño de la memoria de las clases C# suele estar determinado por el JITTER y, por lo tanto, solo se manifiesta en el tiempo de ejecución (aunque hay algunas excepciones). – Yahia
C# no tiene nada que decir sobre el diseño de la memoria. Esto es sobre clases CLR. –
Si desea ver la VTable de una manera más práctica, puede seguir mensajes como este para ejecutar el comando '! DumpMT -MD address' en WinDbg, https://blogs.msdn.microsoft.com/kristoffer/2007/ 01/02/setting-a-breakpoint-in-managed-code-using-windbg/ –