[GNU] options de compilation/taille stack max

Fermé
Siphilis Messages postés 5 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 10 novembre 2004 - 10 nov. 2004 à 11:31
 Jolkdarr - 10 nov. 2004 à 16:52
bonjour,

je cherche à connaître la taille maximale de la pile de mon programme lors de l'exécution, pour éviter les stack overflows une fois le programme intégré dans un système embarqué.

je voudrai savoir s'il existe une option de combilation avec gcc qui permettrait d'avoir une information sur la taille de la pile maximum. Pour le moment, je n'ai trouver que des options pour verifier, limiter, mais pas pour donner l'information.

Est ce qu'il existe un tutorial ou une documentation resencant les differentes options de compilation existante à gcc?

sinon, est ce que quelqu'un connait un soft permettant de la calculer en statique à partir de binaire ou du projet ou autre...?

je suis sous windows XP, je doute que ulimit puisse fonctionné, est ce que j'ai raison?

merci
A voir également:

1 réponse

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
10 nov. 2004 à 13:49
mais la taille de la pile d'exécution est a priori non connue, sauf s'il n'ya pas de fonction récursive.

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0
Siphilis Messages postés 5 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 10 novembre 2004
10 nov. 2004 à 14:03
oui je sais bien, et si je pouvais la calculer de maniere "theorique", ca serai bien cool!! il y a bien un soft qui saurai faire ca en statique (en negligeant les fonctions recursives)??

Pour les options de compilation, j'ai trouver le site, mais il y a rien à propos des piles sur ce que je cherche

je vous met le lien si ca interresse qqun

http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/
0
Hello !

La taille de la pile est rarement un problème et est presque toujours surdimensionnée, même dans le domaine du logiciel embarqué.
Comme les fonctions récusrsives sont déconseillées, tu peux évaluer la taille de pile utilisée par le nombre de niveaux d'imbrications dues aux appels de fonctions en tenant compte de la taille des paramètres passés à chaque appel de fonction.

J'ai développé des logiciels embarqués pendant de nombreuses années. Je peux te dire que les problèmes viennent plutôt de la taille des fifos de communication qui peuvent déborder lors d'un pic de transfert de données, provoquant des pertes de messages, des "deadlocks" ou pire, des plantages.

Take care !
0