VERSION WINDOWS

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 - 14 août 2004 à 21:08
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 - 16 août 2004 à 13:52
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/25394-version-windows

cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
16 août 2004 à 13:52
j'en savais rien ;)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 août 2004 à 13:45
Sur VS on choisit le mode de compilation C ou C++ dans les options projet quelle que soit l'extension de fichier, aucun probleme.
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
16 août 2004 à 13:33
l'extension des fichiers en .cpp m'a fait dire que c'etait du C++ (meme si aucun mot clé propre a ce langage, le compilateur ne va cependant pas permettre certaines largesses du C, vu qu'il va compiler en C++...), honte a moi et a ma famille sur 5 generations.
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
16 août 2004 à 11:00
comparons ce qui est comparable, et melanger du C au C++ n'a qd meme rien a voir avec melanger du C++ avec de l'assembleur et des passages obscurs qui sont sans interet...

> un bel exemple de mélange encore, ici c'est du C et de l'asm, pas de C++...
le problème est que en général qq1 qui fourre un peu d'asm dans son code sait ce qu'il fait ... alors que qq1 qui melange du C et du C++ ne s'en rend pas forcement compte ...
(exemples : incompatibilité des flux, de la gestion mémoire ...)
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 août 2004 à 22:30
Autres remarques: manque un break à la fin de WM_INITDIALOG, et return 0 inutile à la fin de WM_COMMAND
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 août 2004 à 22:26
pour le c = bnstrcpy(szBuff, "Windows "); si en tous cas
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2004 à 22:20
Parce qu'on n'est pas partout aligne sur un multiple de 4, au dela faut inserer par octet.
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 août 2004 à 22:14
Pour ma part, je trouve aussi que la manière d'affecter les chaines est peu pertinente mais bon, il n'y a pas mort d'homme. Mais quitte a faire cela, pourquoi ne pas le faire partout?
JackosKing Messages postés 168 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 avril 2005
15 août 2004 à 16:46
D'ailleur niveau optimisation...
les incrementations de 'c' peuvent être externalisées des 'switch' Utilisation abusive de 'case'.. enfin il y a déjà pas mal de choses à voir avant l'utilisation de telles méthodes.
Mais bon de toute manière ce n'était pas le but de la source forcément. (je met 10 pour remonter le 1 qui est un peu exagéré...)
JackosKing Messages postés 168 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 avril 2005
15 août 2004 à 16:28
Avis perso, je trouve ca ridicule.
La lisibilité du code est nulle. L'optimisation Cycle/taille négligeable.

Ceci étant dit, si vous voulez toujours utiliser cette méthode, vous pouvez le faire de maniere beaucoup plus lisible:
*(long*)pString = *(long*)"Es";
par exemple.
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
15 août 2004 à 10:38
J'ai mis la correspondance ascii a coté mais ca correspond a ca :

strcpy(c, "95 ");

Pour le pkoi jutilise ca, c marqué plus haut :)

++
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
15 août 2004 à 10:25
Bon moi je vais vous révéillé avec une question :
Comment est ce que ca se lit et ca ce comprend ca :
*((DWORD *)c) = 0x203539 ?????

Et pas de dispute encore ;-) !!!!!

Shell
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2004 à 00:29
OK la dessus et bonne nuit a tous.
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
15 août 2004 à 00:29
farpaitement !
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
15 août 2004 à 00:27
un ptit dodo serait de mise pour tt le monde..
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
15 août 2004 à 00:24
moi la seule chose que je trouve déplacée, c'est d'aller chercher chez les vieux commentaires de quelqu'un pour justifier son opinion. c'est tout. c'est lgenre de truc que jfaisais qd j'etais au CP, et qd jdisais a la maitresse que j'avais ptet fait ca mais que romain il a fait pire.
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
15 août 2004 à 00:21
perdu!! je sais tres bien que c'est plus rapide, et je sais tres bien pourquoi (brunews n'a pas le monopole des connaissances en assembleur). simplement c'est moins lisible et le gain réel en rapidité est completement négligeable sur l'ensemble de ton programme, c'est la seule chose que j'ai voulu dire !
sur ce...
a+ ;)
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
15 août 2004 à 00:21
Bon ok, chacun pense ce kil veut, jne vais pas te jeter la pierre, bien au contraire..

Bonne continuation

++
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2004 à 00:20
Ah mais quand je touve un truc pas bon je le dis, c'est clair.
Que la betise se generalise parce que qlqun code un chouia bas niveau dans un code C, c'etait franchement deplace. Son code aurait ete avec des 'string' ou autres lenteurs et il y aurait eu au milieu la partie incriminee, on pouvait comprendre, mais la... Si le C n'est plus fait pour la vitesse, faudra m'expliquer. Il y a le java, le vb, le .net ..., fort heureusement qu'il y a encore du monde pour gagner des cycles.
Son petit code pourrait se trouver au milieu d'un beaucoup plus gros morceau avant affichage des resultats, il n'y a jamais de cycles gratuits.
Mon intrusion ne se voulait pas 'cassante', c'etait juste pour rappeler qu'on a chacun des points de vues parfois divergeants mais que tout le monde a droit de poser une source. Quand je vois source 'Linux', ce n'est pas pour moi, et bien je la laisse tranquille.
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
15 août 2004 à 00:16
j'ai dit ca alexman car selon moi, 90 % des gens d'ici ne vont pas comprendre les lignes la c'est tout.
et meme si tu gagnes plus d'un cycle, vraiment, quel est le sens de ca dans les programmes non critiques ??? si le changement est perceptible pour un humain d'accord, mais la c'est pas le cas !
ensuite je ne pense pas 'prendre des bonnes habitudes' signifie remplacer le plus possible un code de base en C++ avec de l'assembleur, car c'est au détriment de la lisibilité du code et donc de son evolution (relire des codes mal écrits meme par soi meme quelque temps apres est un exercice ardu !).
encore une fois les gens qui cherchent a s'ameliorer pour réaliser des passages critiques d'un programme importants vont soit apprendre l'ASM soit réfléchir a la facon de trouver un meilleur algorithme.
enfin c'est sur que je pense comme je veux, et je pense que l'on peut faire un code efficace et rapide sans sacrifier sa lisibilité.
a+ ;)
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
15 août 2004 à 00:11
ok je t'explik paskil ma expliké :

*((DWORD *)c) = 0x203539; sera traduit direct par le compilo en
mov dword ptr[eax], 203539h //eax vers c

alors kun strcpy devrait recup chak caractere ds un registre, le passer ds la chaine destination et le tester pour voir sil n'est pas egal a 0, donc les cycles sont vite gagné avec cette methode.

Je comprend BruNews, tu a critiké alors ke tu ne savais mm pas pkoi il utilise ca.

++
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
15 août 2004 à 00:06
sinon brunews, faudrait expliquer quel est l'interet sur un forum de rechercher ds les commentaires des sources de quelqu'un qui ne partage pas ton opinion, pour ensuite essayer de le casser et dle descendre? pas besoin de pousser le vice jusqu'a la, enfin si ca te procure du plaisir... note que jme suis empeché de répondre avec un argument du meme tonneau du genre 'toi tu peux parler t'as vu ce que t'as dit sur le code 7801 ché pa koi...'
chacun a sa propre conception sur les echanges avec les autres sur le net cela dit...
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
15 août 2004 à 00:01
j'attendais la personne ki allait me dire que "j'imitais brunews", si prendre exemple sur un programmeur plus doué ke nous est de l'imitation pour toi, jpeux rien y faire, car pour moi c de l'intelligence (pas pretentieux ce ke je dis la). Prendre cette habitude n'est pas mauvais au contraire (fais un desassembly, tu gagnes plus kun cycle, mm ds mon code "basik"). Enfin tu penses ce ke tu veux, AMEN.
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
14 août 2004 à 23:56
comparons ce qui est comparable, et melanger du C au C++ n'a qd meme rien a voir avec melanger du C++ avec de l'assembleur et des passages obscurs qui sont sans interet...
apres c'est pas une critique a tout va, dsl si tu l'as pris comme ca, mais jtrouve débile de vouloir imiter brunews a tout prix... apres comme tu dis ca sert, mais dans certains passages critiques pour des programmes qui demandent une execution rapide. la plupart du temps, un changement d'algorithme est bien meilleur que le passage vers l'assembleur. en tout cas c'est pas tres 'pertinent' de vouloir caser ca au milieu d'un code basique ou il n'y justement pas de passage critique et qui n'a pas un besoin réel un temps de traitement.

imaginons un code dont le de temps d'execution est de 1000 unités de temps, est il réellement avantageux de le remplacer par un code moins clair qui va tourner en 999 unités de temps ? bien sur que non.

sinon bonne continuation, mais si tu voulais illustrer ces passages la (et montrer que ca apporte quelque chose d'autre que du brouillard), il aurait été plus judicieux de trouver un code simple ou le changement etait adapté.

t'inkietes pas non plus; rien de grave non plus ds mes remarques ;)
a++
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
14 août 2004 à 23:49
Voila, rectification apportée. merci ++
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
14 août 2004 à 23:48
Put..., decidement, j'ai codé ca comme un c.. . Merci aardman pour le IDCANCEL.
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
14 août 2004 à 23:43
Salut,
il faudrait penser a traiter IDCANCEL aussi, car si tu cliques sur la croix dans la barre de titre la dialog ne se ferme pas.

Sinon, pour le "*((DWORD *)c) = 0x203539;", bah je vois pas ou ca pose probleme, du moment qu'il y a un commentaire a coté avec la correspondance ascii.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 août 2004 à 23:30
"chacun fait comme il veut..."
extrait de la fin de la 3eme reponse sur:
http://www.cppfrance.com/code.aspx?id=20546

Chacun trouvera toujours son censeur.
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
14 août 2004 à 22:33
ah ca va, rien de grav, tu as compris le principe ? ben pas tt le monde, et c'est mieux de le voir sur de ptites sources, nan ? En fait, c un pli ke 'jmefforce' de prendre, si kelkun ne comprend pas, me demande et j'explik, arrete de critiquer a tt va, si ca n'apportait rien, jne ferai pas. Jme suis renseigné avant de mettre ce genre de trucs, moi non plus n'aimait pas, mais ca sert, donc le pli est a prendre. Et sil te plait, soit un peu plus simpa dans tes comments, jle repete, rien de grav ds ma source..
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
14 août 2004 à 22:29
"*((DWORD *)c) = 0x203539;"

la betise se géneralise on dirait !!! a quoi ca sert de faire cela plutot que d'affecter a la main les premieres cases de ton tableau de char? a part que la c'est un truc imbuvable. si tu fais des sources que pour toi meme, quel est l'interet de les poster ici? surtout pour un code aussi basique ... ca sert a rien de vouloir gagner 3 temps processeur, tout est négligeable devant l'appel de la fonction dialogbox.
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
14 août 2004 à 21:43
dsl pour l'erreur.
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
14 août 2004 à 21:38
je vois l'erreur, copier coller stupide..
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 août 2004 à 21:33
"Windows 200" sur un Ent Server 2003.
Utilise API, plus complet, services packs importants.
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
14 août 2004 à 21:08
J'oublais, des tests sur differents os seraient les bienvenues ;)
Rejoignez-nous