Allocation statique de tableaux de taille importante

[Résolu]
Signaler
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008
-
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008
-
Bonjour,

je me demandais s'il était possible de connaître la mémoire disponible
sur la pile, car en tentant d'allouer des tableaux de taille très
importante en statique, j'ai été confronté à des "segmentation fault".


Merci
<endl>Un clavier Azerty en vaut deux

</endl>

4 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
On ne met jamais pas de grands tableaux sur la pile.

Lit la valeur du registre ESP pour savoir ou on en est, suffit d'enregistrer sa valeur au début du prog pour savoir l'occupation de la stack.

ciao...
BruNews, MVP VC++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
exemple pour afficher ESP dans une MessageBox

__declspec(naked) void __stdcall DireEsp(HWND howner)
{
  __asm {
    lea     eax, [esp-28]
    mov     edx, esp
    mov     dword ptr[eax+24], 505345h
    lea     ecx, [eax+12]
    mov     esp, eax
    mov     dword ptr[eax+8], 10
    mov     dword ptr[eax+4], ecx
    mov     dword ptr[eax], edx
    call    _ultoa  ; no ret 12
    lea     eax, [esp-4]
    lea     ecx, [eax+28]
    mov     esp, eax
    mov     edx, [eax+36]
    mov     dword ptr[eax+12], 0
    mov     dword ptr[eax+8], ecx
    mov     dword ptr[eax], edx
    lea     eax, [eax+16]
    mov     [esp+4], eax
    call    dword ptr MessageBox
    add     esp, 16
    ret     4
  }
}

ciao...
BruNews, MVP VC++
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

OK merci c'est ce que je voulais savoir!
<endl>Un clavier Azerty en vaut deux

</endl>
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

Impeccable merci beaucoup BruNews!
<endl>Un clavier Azerty en vaut deux

</endl>