1553Fermer1555
Kevin KoflerLe 29/09/2010 à 04:33
Folco (./1553) :
Kevin Kofler (./1548) :
Les programmes _nostub n'inventent aucun linker dynamique, ils utilisent le linkage statique.
Même pour les vraies fausses dll ?

Presque personne n'utilise cette fonctionnalité, et elle ne sert pas à la même chose (le seul intérêt est de contourner la limite de 65518 octets), donc je n'en ai pas du tout parlé. Mais effectivement il n'y a pas de linker dynamique à vrai dire même pour ça, mais un fonctionnement de type dlopen (mais avec des IDs numériques plutôt que des noms de symbole, pour des raisons de taille et de vitesse).
C'est fort alors, si c'est pas du linking dynamique c'est catastrophique en perf (lecture d'une table et calcul de l'adresse à chaque saut ?).

Bah, ça fonctionne pratiquement de la même manière que les libs conditionnelles de PreOs.
Kevin Kofler (./1548) :
Les BSS sont souvent inefficaces à cause des relogements
Alors pourquoi TIGCC produit des BSS pour les vars globales, pourquoi pas des variables initialisées dans le segment de code ? C'est débile comme comportement.

C'est configurable. Les options par défaut ne sont pas forcément les plus efficaces. Sur certains programmes (quand il y a d'énormes tableaux globaux), les sections BSS rendent bien (elles économisent des kilo-octets d'octets nuls), sur d'autres non (j'utilise en général -mno-bss pour mes logiciels, ça désactive complètement les BSS, directement au niveau du compilateur). On peut aussi contrôler directement dans le code l'emplacement d'une variable globale (si on ne met pas d'initialisateur, elle sera par défaut mise dans une section BSS, si on en met un, même si c'est 0 ou {}, elle sera mise directement dans le programme) et aucune section BSS ne sera créée si on n'a aucune variable BSS.
Et j'utilise encore VTI.

Un émulateur qui n'a plus été mis à jour depuis 9 années? sick
Et en plus il n'y a aucune version GNU/Linux! Le fais-tu tourner avec WINE? sick Pourquoi pas utiliser un émulateur natif?