2009-02-11 6 views
4

J'ai lu dans d'autres discussions que Release dlls ont une taille réduite par rapport aux DLL de débogage. Mais pourquoi est-ce que la taille de la DLL que j'ai faite est l'inverse: la version dll est plus grande que la DLL Debug. Cela va-t-il causer des problèmes?Taille dll (déboguer et libérer)

Répondre

5

Cela ne causera pas de problèmes, c'est probablement que le compilateur est en train d'intégrer plus d'éléments dans la version release et de créer du code plus grand. Tout dépend du code lui-même.

Rien à craindre.

EDIT: Si vous êtes vraiment inquiet et ne vous inquiétez pas de la vitesse, vous pouvez optimiser la taille. Ou désactivez l'auto-alignement et voyez quelle différence vous obtenez.

EDIT: Plus d'info, vous pouvez utiliser dumpbin /headers pour voir où l'dll obtient plus

0

La performance peut être influencée si votre application effectuer des tâches de haute performance. Une version de version peut même être plus grande qu'une version de débogage, si marqué des options pour générer du code avec des informations sur le débogage inclus. Mais cela dépend aussi du compilateur que vous utilisez.

3

Quelle est la taille de votre DLL de libération supérieure à celle de votre DLL de débogage? Vos DLL de déboguage peuvent sembler petites si vous générez des fichiers de symboles PDB (donc le symbole de débogage n'est pas réellement dans le fichier DLL). Ou si vous compilez par inadvertance des symboles de débogage dans votre DLL de version.

+0

Comment savoir si je suis la compilation debug symboles dans pour libérer dll? – Martin

+1

Vérifiez vos paramètres de projet 'pour la version Release Configuration. Si vous avez un fichier DLL, vous pouvez utiliser 'dumpbin/symbols' pour voir si les symboles de débogage sont incorporés. Voir http://support.microsoft.com/kb/177429 –

1

Cela peut être causé par l'optimisation des performances comme boucle déroulage -. Si elle est significativement différent, vérifiez vos paramètres de l'éditeur de liens de sortie pour vous assurer que vous n'êtes pas compiler statiquement quoi que ce soit dans

Questions connexes