G ++ me donne des avertissements concernant l’atsortingbut init_priority: g++ -c -o src/core/ModuleManager.o -Wall -fPIC -imacros ./src/configs/config.hpp -O2 -I./src/include src/core/ModuleManager.cpp src/core/ModuleManager.cpp:27:29: warning: requested init_priority is reserved for internal use Existe-t-il un moyen de supprimer cet avertissement spécifique?
J’ai des avertissements sur l’étape du lien. Ces avertissements apparaissent uniquement en mode de libération. Mon programme est composé de deux parties: une bibliothèque qui génère une .lib et un exécutable qui utilise cette bibliothèque. Lorsque je construis la bibliothèque, je n’ai aucun avertissement. Mais lorsque je construis mon exécutable, sur le lien, j’ai les […]
Nous avons une bibliothèque C ++. Il comporte quatre objects statiques sensibles à l’ordre d’initialisation (deux d’entre eux sont des chaînes de la bibliothèque standard). Nous utilisons init_seg(lib) pour contrôler l’ordre d’initialisation des objects statiques C ++ dans la bibliothèque. Le fichier source qui l’utilise est compilé et utilisé dans une bibliothèque de liens dynamics […]
Veuillez considérer le code suivant: class cls { }; __atsortingbute__((warn_unused_result)) cls fn1() { return cls(); } __atsortingbute__ ((warn_unused_result)) int fn2() { return 1; } int main() { auto x = fn1(); (void)x; auto y = fn2(); (void)y; return 0; } Lorsque je comstack ceci avec -Wall -Wextra avec gcc 5.4.0, un avertissement -Wall -Wextra : […]
Existe-t-il un moyen de faire un compilateur ( clang ++ ou g ++ ) pour l’informer des prochaines situations static_assert(!std::is_lvalue_reference::value); void g(T); void f(T x) { T y = x; #if 0 // turns warning off g(std::move(x)); #endif } // warning here: x goes out of scope, but not moved from ou static_assert(!std::is_reference::value); T f() […]
Depuis quelques jours, je reçois un message d’avertissement lors du débogage. Je ne trouve pas d’où ça vient. J’étais déjà sur Google et j’ai trouvé des choses du genre parce que j’ai une variable statique. Mais le sortir ne change rien. C’est la méthode main : int main(int argc, char* argv[]) { if (argc != […]
J’ai essayé de comstackr le code suivant avec g ++ (version 4.8.2 de gcc (Debian 4.8.2-1)), avec l’indicateur -Wextra (l’ajout de l’indicateur -Wextra ne change rien pour moi). #include using namespace std ; int main() { int i ; cout << i << endl ; } Il a donné cet avertissement: test.cpp: In function ‘int […]
Je ne parviens pas à trouver des informations concernant l’avertissement suivant lors de la liaison d’une bibliothèque dynamic: In function `MyClass::myfunc()’: MyClass.cpp:(.text+0x14e4): warning: memset used with constant zero length parameter; this could be due to transposed parameters Voici un extrait de myfunc : void MyClass::myfunc() { vector::const_iterator it; for (it = m_vars.begin(); it != m_vars.end(); […]
Cppcheck (version 1.46.1) donne l’avertissement suivant pour une énumération semblable à celle-ci: enum DATABASE_TYPE { DATABASE_TYPE_UNKNOWN = -1, // <- line of warning DATABASE_TYPE_ORACLE, DATABASE_TYPE_MSACCESS }; Code redondant: trouvé une instruction commençant par une constante numérique Je ne pense pas que ce soit redondant. C’est assez important de pouvoir faire des choses comme ça. Est-ce […]
J’ai besoin d’une règle commune pour les avertissements en mode x64. Quel est le meilleur chemin? Considérons les lignes suivantes de certains codes const int N = std::max_element(cont.begin(), cont.end()) – cont.begin(); ou const int ARR_SIZE = 1024; char arr[ARR_SIZE]; //… const int N = std::max_element(arr, arr + ARR_SIZE) – arr; C’est mon code habituel. Je […]