Comment savoir ce que les optimisations bjam utilise pour stimuler la construction

StackOverflow https://stackoverflow.com/questions/2794492

  •  04-10-2019
  •  | 
  •  

Question

Je construis les bibliothèques Boost avec bjam tant pour le compilateur Intel et VS2008, et je ne peux pas dire ce que les optimisations sont passés au compilateur de bjam. Pour un des gcc du compilateur, je peux voir quelques optimisations dans l'un des fichiers bjam, mais je ne peux pas trouver les drapeaux d'optimisation pour les compilateurs auxquels je tiens. Donc, mes questions sont -

  1. Est-ce que quelqu'un sait où se trouvent les options d'optimisation par défaut?
  2. Si elles sont déclarées dans bjam, ce que quelqu'un sait comment je peux les remplacer?
Était-ce utile?

La solution

Si vous êtes intéressé à regarder l'ensemble des options qui sont transmises à appeler le compilateur lors de la construction, vous pouvez exécuter bjam avec les options de -n -a et le reste des options de construction pour vous donner l'ensemble des commandes invoquées, et les fichiers de réponse générés (voir Jam Boost options ). Aussi, vous pouvez regarder les sources de BUILD Boost directement et voir ce que les caractéristiques spécifiées sont converties en (voir Boost Outils créer des fichiers). Par exemple:

Vous pouvez comprendre probablement la même chose pour d'autres compilateurs simplement en regardant à travers les sources comme ils sont assez explicites. Et vous pouvez simplement rechercher « <optimization> » et « <inlining> » dans les sources *.jam.

Vous pouvez les remplacer dans la ligne de commande en spécifiant l'option feature=value dans la ligne de commande lors de la construction. Les options correspondent aux spécifications de <feature>value que vous voyez dans les fichiers de jeu d'outils. Par exemple, pour remplacer les optimisations fonction vous spécifiez dans la ligne de commande certains comme "optimization=speed". Si vous voulez plus d'un contrôle précis à grain fin vous devez plonger dans les spécifications de construction Boost et probablement de créer une variante de votre propre pour définir les options et les fonctions spécifiques à construire avec.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top