DES LETTRES SANS LES CHIFFRES (WIN32)

cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004 - 19 août 2003 à 08:57
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 16 juil. 2004 à 11:24
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/11269-des-lettres-sans-les-chiffres-win32

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 juil. 2004 à 11:24
Salut,
je viens de tester le zip, il s'est ouvert impec avec winzip (8.1).
Complexite de mon prog ? ben moi je le trouve assez simple et je ne peux encore moins prejuger de la complexite du tien, dependra surtout du format de stockage et de tout un tas d'autres choses, il n'y a que toi qui le sache.
mickaeliazerty Messages postés 10 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 27 juillet 2004
16 juil. 2004 à 09:14
Salut BruNews!
Je compte m'attaquer sérieusement à la partie lettre, mais avant j'aimerais savoir 2 petites choses
- pourquoi ton zip est en zipnix, winzip ne l'aime pas...
- Quelle est la complexité de ton prog? celui que je compte faire est linéaire sur la taille du dictionnaire (qui ne contiendra pas d'annagrammes), et je voudrais savoir si c'est intéressant comme complexité.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 août 2003 à 13:37
Si tu veux suivre ce qu'a genere le compilo:
Assembly + source code.
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
23 août 2003 à 13:31
Salut,
Juste pour dire que j'ai trouve comment generer le listing asm sous VC6 :-)
Pour ceux qui l'ignore et que ca interesse: Project->Settings->(onglet)C/C++->Category:Listing Files->Listing file type:Assemblym-only listing.
Voila, j'ai compare les 2 codes generes il est vrai que celui sans le strcpy ets bien mieux.
Bye, Xentor609
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 août 2003 à 14:32
Fonctions Ajout et Suppression de mots sont maintenant presentes.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 août 2003 à 10:00
VC6 sort les listings asm, je ne me souviens plus si est onglet linker ou autre mais il y a, cherche tu vas trouver.
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
19 août 2003 à 09:48
Oups, j'utilise VC6 et pas le dernier de Visual.
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
19 août 2003 à 09:37
ok merci beaucoup pour cette petite astuce qui ets le bienvenue.
Je regarderai ca de plus pres des que j'aurai un temps!
Merci encore!
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 août 2003 à 09:27
va dans optionssettings, tu verras (en french) fichiers de sortie, tu mets: ASM+code source. Ensuite tu recompiles(toujours release). Dans dossier release tu trouves fichier asm, tu renommes pour qu'il ne soit pas ecrase au prochain coup. Ensuite change avec le strcpy et recompile. Ouvre les 2 asm dans notepad et tu peux comparer.
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
19 août 2003 à 09:19
Ok je veux bien,
mais je pige pas comment ça renommer les asm, quels asm?
Desole de poser toutes questions betes, mais faut bien que je comprennent comment ca marche.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 août 2003 à 09:12
tu parles de faire:
strcpy(lf.lfFaceName, "courier new");
pour comptrendre la difference il faut que tu demandes le listing asm genere par le compilo. Fais le test, compile et renomme les asm, invalide mes 3 lignes puis mets le strcpy et mets en parallele les 2 listings asm. strcpy genere une boucle alors que moi je force le compilo a placer 3 "mov dword ptr..." qui sont parallelisables, donc aucun saut de code et entre dans les 2 pipelines.
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
19 août 2003 à 08:57
Salut,
Waouh la source, pas mal du tout!
En fait j'ai juste un petite question que je comprend pas (moi et les pointeurs ca fait 2):
pourquoi faire:
*((DWORD*)lf.lfFaceName) = 0x72756F63; // cour
*((DWORD*)(lf.lfFaceName+4)) = 0x20726569; // ier
*((DWORD*)(lf.lfFaceName+8)) = 0x77656E; // new

au lieu de mettre directement courier new ?
Sinon, bravo pour la source!