lire le code source de FastMM4, et notez cette fonction intéressanteGetThreadID dans l'assemblage
function GetThreadID: Cardinal;
{$ifdef 32Bit}
asm
mov eax, FS:[$24]
end;
{$else}
begin
Result := GetCurrentThreadID;
end;
{$endif}
Je l'ai testé et il fonctionne, donc ma question est toute explication pourquoi cela fonctionne?
Et un autre [must see link] (http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/NT%20Objects/Thread/TEB.html) sur TEB. [MS documentation] (http://msdn.microsoft.com/library/windows/desktop/ms686708) est inutile pour ce sujet. – OnTheFly
Au contraire la documentation MS est excellente. Comme il s'agit d'une implémentation privée, la stratégie de documentation correcte pour les détails d'implémentation privée est de le garder privé. –
@DoctorLai, je suis curieux, pourquoi appelez-vous la mémoire de lecture avec un déplacement ** magique ** un "effecient"? – OnTheFly