2012-01-12 3 views
5

Nous avons essayé les options de profilage de gcc sur une unité audio compilée sous gcc4.2/MacOS. (Techniquement c'est une bibliothèque.) Le problème est que nous n'avons pas de contrôle sur l'exécutable qui charge la bibliothèque. Par conséquent, nous ne pouvons lier la bibliothèque qu'avec l'option de profilage, mais pas avec l'exécutable. Comment (le cas échéant) pouvons-nous utiliser l'optimisation guidée par profil dans ces circonstances?Optimisation guidée par profil GCC avec bibliothèque partagée sans aucun contrôle sur l'exécutable

À la votre!

+1

Je crois que vous n'avez pas de chance. Vous pourriez être en mesure d'avoir une routine d'initialisation dans votre bibliothèque active le profilage - dans ce cas, vous n'obtiendriez pas de profilage pour le code avant le chargement de la bibliothèque. Mais comme l'exécutable n'est pas préparé pour le profilage, il est probable qu'il ne produira pas d'informations très utiles. Cela pourrait produire des informations utiles sur le code de votre bibliothèque, mais je ne voudrais pas m'en fier. –

Répondre

1

Vous ne pouvez pas écrire un exécutable personnalisé pour charger (et tester) la bibliothèque? Ce serait sous votre contrôle et pourrait être construit avec le profilage.

+0

Oui, mais l'API que nous devions appeler est quelque peu compliquée. Nous pourrions suivre cette route à un moment donné, mais je dois d'abord convaincre quelqu'un que les tests unitaires sont une bonne chose ;-) – clemens

Questions connexes