Congruence des nombres premiers

pgl10 Messages postés 380 Date d'inscription samedi 18 décembre 2004 Statut Membre Dernière intervention 29 octobre 2023 - 17 nov. 2016 à 16:53
pgl10 Messages postés 380 Date d'inscription samedi 18 décembre 2004 Statut Membre Dernière intervention 29 octobre 2023 - 25 nov. 2016 à 19:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/101745-congruence-des-nombres-premiers

pgl10 Messages postés 380 Date d'inscription samedi 18 décembre 2004 Statut Membre Dernière intervention 29 octobre 2023 11
25 nov. 2016 à 19:53
Merci pour cette réponse et les deux renseignements indiqués. Les warnings listés ci-dessus ne sont pas méchants et on peut aussi les corriger en y regardant attentivement.
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
25 nov. 2016 à 19:42
Le souci que tu as, n'est pas un souci de code, mais d'OS. Tu as utilisé des noms de fichiers différents et comme Windows est laxiste sur ce point, il les a accepté (il ne regarde pas la casse). En effet, "biginteger.cpp" et "BigInteger.cpp" ne sont pas identiques (mais pour Windows, si). Si tu regardes bien dans tes inclusions, tu verras que tu choisis deux orthographes différentes pour parler du même fichier. C'est ça qui passe mal sous Linux.

Quant au warning manquant, je ne saurais te dire :(. Je suppose que cela vient de la version de gcc utilisée qui doit gérer cela différemment. Il n'y a normalement rien à faire pour l'avoir.
pgl10 Messages postés 380 Date d'inscription samedi 18 décembre 2004 Statut Membre Dernière intervention 29 octobre 2023 11
25 nov. 2016 à 18:35
Bonjour CptPingu,
Je n'ai avec moi ni Linux ni gcc.
Mais j'ai fait une compilation en ligne avec gcc sous linux avec :
https://www.tutorialspoint.com/compile_cpp11_online.php
et la commande : g++ -Wall -std=c++11 -o main *.cpp
Cela fonctionne, mais je n'obtiens que le dernier warning, celui de 'nb_primes'.
Que faut-il faire pour obtenir les 4 warnings listés ci-dessus ?
Cela m'aiderait pour les corriger.
Remerciements.
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
Modifié par cptpingu le 25/11/2016 à 11:45
En fait son code compile bien sous gcc, c'est juste qu'il faut ajouter l'option -std=c++11 et renommer certains fichiers. La casse n'est pas prise en compte sous Windows mais l'est sous Linux. Donc il faut qu'il nomme ses fichiers "BigInteger.cpp" et non "biginteger.cpp".

Pour info, il y a aussi quelques petits warnings:
BigInteger.cpp: In constructor ‘BigInteger::BigInteger(uint32_t)’:
BigInteger.cpp:79:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
BigInteger.cpp: In constructor ‘BigInteger::BigInteger(uint64_t)’:
BigInteger.cpp:92:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
BigInteger.cpp: In function ‘BigInteger addubi(BigInteger, BigInteger)’:
BigInteger.cpp:448:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
BigInteger.cpp: In function ‘BigInteger lenstraFactor(const BigInteger&, int32_t)’:
BigInteger.cpp:1267:35: warning: variable ‘nb_primes’ set but not used [-Wunused-but-set-variable]
ccgousset Messages postés 150 Date d'inscription samedi 1 août 2009 Statut Membre Dernière intervention 4 mars 2023
25 nov. 2016 à 10:45
Pgl merci pour ton code sur code de gray. Celui si projet microsoft ne compil pas direct avec gcc. Tu aurais pas une config pour gcc ou codeblocks ?
Rejoignez-nous