CRC32 EN ULTRA SIMPLE (WIN32)

Messages postés
780
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 avril 2009
- - Dernière réponse : cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 6 mars 2010 à 19:30
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/32855-crc32-en-ultra-simple-win32

Afficher la suite 
cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61 -
Il semble que jusqu'à 2Gb il n'y ait pas de souci.
J'ai tenté avec un (CRC en hexa)
2.04Gb : 4444 4646 (commence à faire bizarre)
3Gb : 6969 6969
29Gb : D4D4 D4D4

Je vais essayer de faire un test en générant des fichiers de différentes tailles pour voir où commence ce phénomène ...
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
7 novembre 2014
13 -
Je viens de tester avec l'exe qui est ici en source sur des ISO > 2 Go (Sql Server, VS, etc..) no prob, j'ai des résultats tout a fait corrects.
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
7 novembre 2014
13 -
Depassement de capacité n'a pas de sens en C, certainement faudrait que je te change l'algo du CRC que je n'avais pas testé sur de gros fichiers.
Je vois ça dès que possible.
cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61 -
Merci beaucoup, bn
J'ai mis en application et le tout fonctionne.
Si tu le permets, je vais publier une nouvelle source VB avec cette DLL, avec le lien, bien entendu, symbole d'une fructueuse collaboration !

Juste avant, une petite question :
Sur le calcul de CRC des gros fichiers (~12Go), les résultats ont vraiment des formes particulières (sans signalement de défaut de la part de la DLL) :
Par exemple, sur un fichier de 12.8Gb, le résultat donne 6B6B 6B6B
Sur un autre de 7.4Gb, j'obtiens F1F1 F1F1
Pour 1.93Gb, FCFC FCFC
Pour 583Mb, 3738 B9BA
Ces résultats sont les mêmes avec cette DLL (zip du dernier msg) et avec la DLL de ta source.

Ces résultats me paraissent bien singuliers dès que la taille des fichiers augmentent.
Y aurait-il un problème de saturation de capacité de variable ?
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
7 novembre 2014
13 -
Salut Jack,

http://brunews.com/dllcrc.zip
contient dll et txt explicatif.

Je n'ai ni VB ni temps pour tester, tu me diras.