OBTENIR LA VERSION DU SYSTEME,SON ENVIRONNEMENT,LE SERVICE PACK ET AURES ...

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 8 déc. 2006 à 17:39
frobinet Messages postés 64 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 15 décembre 2006 - 13 déc. 2006 à 12:35
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/40612-obtenir-la-version-du-systeme-son-environnement-le-service-pack-et-aures

frobinet Messages postés 64 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 15 décembre 2006
13 déc. 2006 à 12:35
Juste pour finir je voudrai résumé qu'il est souhaitable que les personnes qui s'exprime sur un forum quelqu'ils soient le fasse sans reflexion qui peuve être blaissante ou finir par être saoulante.

Et je voulais juste signaler que même si il est évident que tu ne trouvera jamais dans mes codes "invoke lstrcat,addr phrase,addr espace" je préfère souvant prendre le risque de la lisibilité par rapport à la performance pur (par exemple j'utilise pas mal les .WHILE et autres cochonneries je te l'accorde) car pour mon entreprise il est important qu'une autre personne puisse me relire (en plus a part mon chef qui programme à longueur de journée en asm NEC, rien que le mot assembleur fait fuir le reste de mes collègues, ça aide pas).

Juste pour anecdote j'ai galéré et je n'ai d'ailleur toujours pas trouvé la solution sur la création d'un ActiveX qui me renverrai un évènement, la seule source que j'ai trouvé est une source qui est infesté de MACRO à tout vas avec une refonte vulgaire de tous les includes (mixage entre C et ASM) qui posent des problèmes de compatibilité avec la version ml que j'utilise et en plus le programme est buggé, après plus d'une semaine à essayé de décortiqué le programme j'ai finis par le mettre à la poubelle, il faut quand même que quand on poste une source de cette nature il faut que ce soit digeste car si seul les spécialistes peuvent le comprendre, ça sert à rien.
Je suis venu à MASM par envie pas par nécessité, on peut avoir des avis différents car des besoins différents.

"l'assembleur est le langage où on est un éternel débutant" je pense que l'on peut l'élargir à toute l'informatique et à l'électronique. Tantôt professeur, tantôt élève.

Il est vrai que je me suis emporté pour une remarque toute a fais justifié et je m'en excuse, aller BON NOEL à TOUS !
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
13 déc. 2006 à 09:35
Une petite contribution sur l'ambiance dans les forums permettant une utile comparaison des points de vues de chacun.
C'est le même code qu'içi(commentaires en anglais mais sur un forum US.
http://www.manoscoder.gr/mbbs/forums/thread-view.asp?tid=53&posts=8&start=1

ToutEnMasm
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 déc. 2006 à 19:44
Bon remettons tout à plat.
Faut pas s'arrêter au style du commentaire mais à ce qui est dit techniquement, il est bien clair que je n'ai envie d'agresser personne. Le manque de temps fait que je rédige concis voila tout.
Ce n'est pas moi qui vais dire qu'il ne faut plus coder en asm, je suis payé pour cela, alors...
Par contre tout ce que je produis doit être vérifié comme meilleur que ce qu'aurait produit le compilo, à cette fin que je fais toujours les fonctions en C et que je regarde le listing asm obtenu. Si ça me semble nickel ça reste en l'état (c'est rare mais ça arrive) mais sinon quand on code on code vraiment.
Qlq'un peut-il croire qu'une boite emploiera au tarif qu'on demande pour produire en asm si elle obtient mieux avec un mec qui codera en C pour moins cher ?
Je répète que coder en asm à notre époque n'a plus d'autre sens qu'obtenir les perfs maximales et c'est le seul but à avoir. Qu'un exemple de source ne semble pas le nécessiter ne change en rien le propos, on publie dans un but pédagogique et on se doit donc de faire au mieux. Le meilleur challenger qu'on puisse avoir étant un compilo C, par force on doit comparer au compilo.
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
12 déc. 2006 à 15:10
J'allais oublier,
Pour le style,la raison en est que je suis un artiste "du copier coller."
Faire en 10 mn ce que les autres font un temps certain est le but de mon IDE,c'est ce qui donne ce style.
ToutEnMasm
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
12 déc. 2006 à 14:59
Salut,

Il faut reconnaitre qu'un forum qui incite a venir poster des sources est plus vivant qu'un forum ou les gens s'invectivent ou croient tout savoir.
Petite citation d'un pro de l'assembleur (traduction de l'anglais).
"l'assembleur est le langage ou on est un éternel débutant".

ToutEnMasm
frobinet Messages postés 64 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 15 décembre 2006
12 déc. 2006 à 11:02
Désolé de mettre mal exprimé, ce que je voulais dire c'est que je n'apprécie plus la teneur des remarques DESAGREABLES qu'utilise sans arrêt BruNews lorsqu'il laisse une remarque sur le site. Je ne critique pas le fait que le code n'est pas optimisé, je ne l'ai même pas lu et ça ne m'interresse pas (c'était le seul code de la semaine, c'est de la curosité c'est tout!!!).

En outre, sur un code aussi simple je suis moins regardant du point de vus otpimisation que pour un code demandant des ressources importantes (Cryptographie, 3D..). Mais encore une fois on peut faire une remarque d'optimisation sans non plus avoir une démarche aussi agressive.

De plus, on est sur un site assembleur, on n'a pas à critiquer le choix des personnes qui programment en assembleur. "Le C/C++ est mieux y en a qui sont gratuit (MingGW, VC++, LCC, SDCC...)", et alors je ne vois pas ce que cette remarque viens faire sur un site assembleur. Je ne vais pas sur un site VB pour dire que je trouve nul ceux qui programme avec ça, c'est leur choix (c'est même quelque fois imposé par le travail, et alors ?). Si vous ne pouvez plus vous passer du C/C++ y a un site qui est fais pour vous "www.cppfrance.com". ça aussi c'est récurent dans vos remarques et je ne vois vraiement pas en quoi ça fais avancé le codage en assembleur.

ça fais trois ans que je programme en MASM mais l'assembleur je l'utilise depuis plus de quinze ans pour les microcontroleurs (512 octets pour faire tenir un programme, le mieux c'est l'assembleur). Bien sûr que j'utilise le C++ comme tous programmeurs mais si j'ai envie de faire de l'assembleur j'ai peut être le droit ou faut-il que je vous fasse une demande ?

"Ecraser la créativité... je fais dans le binaire pas dans la psy donc je passe." bah non justement c'est ça le problème, si les programmeurs ne laissent pas de codes sur le sites car ils savent que c'est pour ce faire rembarrer, je ne vois plus l'interet du site.

Allez voir d'autres forum de programations assembleur, vous verrez que les aides apporté sont beaucoup plus motivants. J'ai lu par exemple avec grand plaisirs des batailles entre programmeurs sur des optimisations différentes entre AMD et INTEL qui donnent vraiement envie d'aller plus loin.

"Finalement, je ne vois pas non plus ce qui justifie ce style de programmation" Désolé ce n'était pas en relation avec la news c'était pour passer un message à BruNews c'est tout !
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 déc. 2006 à 21:34
ToutEnMasm, si la raison qui t'oblige a coder en "assembleur" est le prix trop élevé des IDE pour C/C++, je pense que tu te fourvoies lamentablement
Evidemment MinGW est gratuit, mais aussi depuis peu (enfin pas mal de temps quand même maintenant), le compilateur de VC++ est gratuit, et tu pourra l'utiliser avec une version express de Visual Studio.

Même remarque que BruNews concernant les débutants, aucun intérêt de commencer l'assembleur de cette manière

Finalement, je ne vois pas non plus ce qui justifie de style de programmation
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 déc. 2006 à 21:18
C'est inconstructif de dire ce qui ne va pas ??? c'est nouveau ça.
Ecraser la créativité... je fais dans le binaire pas dans la psy donc je passe.

3 ans que tu fais du sabir masm en obtenant 3 fois moins efficace qu'un compilo C en ayant mis 4 fois plus de temps que codé en C, si ça te convient c'est ok mais les débutants avec un tant soit peu d'ambition doivent savoir que c'est mauvais et pour cela encore faut-il que qlq'un l'ait écrit.

if osvi.dwPlatformId == x
4 fois de suite, bien entendu que j'aurais aussi pu l'évoquer mais je m'étais pourtant abstenu:
cmp [adr], valeur
jb goINF
je goEQU
ici traitement goSUP

ben oui mais pour cela faut coder vraiment.
Dans tous les cas si tu ne veux pas progresser ne lis pas les comments et basta.
Je note que ToutEnMasm a lui par contre essayé d'en proposer une amélioration et c'est heureux ainsi.
frobinet Messages postés 64 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 15 décembre 2006
11 déc. 2006 à 10:03
Encore une remarque inconstructive de la part de BruNews comme toujours...
Petit parenthèse ce forum à pour but de faire découvrir l'assembleur et de faire avancer les choses pas de critiquer tous les codes en faisant croire que tu es capable de faire mieux.
Tu écrase la créativité de ce forum et à la lecture de tes remarques ça ne donne pas du tout envie de poster la moindre source. Je me suis mis à l'assembleur il y a de ça trois ans et c'est grâce a des personnes comme Iczelion, ToutEnMasm ... que j'ai bien avancé et maintenant MASM32 est pratiquement mon seul logiciel de programmation (même si j'ai la chance par mon travail d'être abonnée à MSDN Architecte).
Un tutoriel ou un programme mis sur un forum n'est pas une solutioon clé en main mais une aide à la réflexion il faut donc qu'il soit avant tout lisible sinon ça repousse les débutant et ça favorise le copier coller totalement idiot.
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
9 déc. 2006 à 18:14
Cest bientôt Noël,Je vais te faire un petit cadeau.
pour optimser le code utiliser la fonction comme suit
1) créer une locale pointeur
2) ranger l'adresse de phrase dans pointeur
;début des tests
lea eax,phrase
mov pointeur,eax
PuPo case,osvi.dwPlatformId
.if case == VER_PLATFORM_WIN32_NT
3) remplacer tous les lstrcat par la fonction ConcaTene
invoke ConcaTene,pointeur,SADR("Microsoft Windows Server 2003, "),addr pointeur

ToutEnMasm
;additionne deux chaines terminées par zero
;renvoi le pointeur en bout de chaine écrite dans padresse
;################################################################
ConcaTene PROC uses esi edi szSomme:DWORD, szAdd:DWORD ,padresse:DWORD
Local retour:DWORD
mov retour,0
;éviter un planté toujours néfaste
.if szSomme 0 || szAdd 0 || padresse == 0
jmp FindeConcaTene
.endif
mov esi,szAdd
mov edi,szSomme
cld
.LISTALL
@@:
.if byte ptr [edi] != 0 ;debut de chaine a augmenter
;aller en bout de chaine
inc edi
jmp @B
.endif
@@:
.NOLIST
.if byte ptr [esi] != 0
;recopier
movsb
jmp @B
.endif
mov al,0
mov [edi],al
;sauvegarder le pointeur de fin
mov esi,padresse
mov [esi],edi
mov retour,1

FindeConcaTene:
mov eax,retour
ret
ConcaTene endp
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
9 déc. 2006 à 09:57
Rappelle moi le prix de Visual studio,pour voir !?
Si tu veux optimiser le code,aucun problème,tu as le source,bon boulot.
ToutEnMasm
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 déc. 2006 à 17:39
Traduction à la "asm VB" mais assurément pas du code qui serait passé dans un compilo C correct.
Le jour où mon compilo me fera des appels lstrcat, il prend la poubelle illico.
Il y a des registres à employer, mets EDI en fin de chaine et tu écrsi dessus, tu recup ainsi ton EDI toujours au point d'écriture sans reparcourir 50 fois la meme chaine.
invoke lstrcat,addr phrase,addr espace
là c'est le bouquet, non ?
mov byte ptr[edi], 32
add edi, 1
voila remplacé appel strcat...
Sérieux, l'asm est le domaine de l'optimisation maximale, en faire un sous VB n'avance à rien.