J'ai un projet pour lequel l'optimisation a été définie sur "-Os" pour tous les fichiers via les indicateurs de ligne de commande gcc
. Toutefois, je souhaite désactiver l'optimisation pour certaines méthodes dans l'un des fichiers source. Pour ce faire, j'essaie de spécifier l'attribut d'optimisation pour ces méthodes. Toutefois, gcc
indique qu'il ignore l'attribut optimize
pendant la génération. Quelqu'un sait-il quel est le problème? J'utilise GCC version 4.4.3.La directive d'attribut 'optimize' est ignorée
2
A
Répondre
3
Supprimez le -
. Ce n'est pas obligatoire (ou probablement pas attendu).
1
Vous pouvez utiliser pragma d'optimisation, comme détaillé dans http://gcc.gnu.org/onlinedocs/gcc/Function-Specific-Option-Pragmas.html#Function-Specific-Option-Pragmas
#pragma GCC push_options
#pragma GCC optimize ("-O0")
int foo() {
return bar;
}
#pragma GCC pop_options
Essayé. Mais cela n'affecte pas le résultat. – 341008
Normalement, je voudrais juste utiliser la directive pragma, mais dans la source, pas l'en-tête. – leppie
Il ignore également '#pragma GCC optimize 0'. – 341008