Hades53
Messages postés231Date d'inscriptionmercredi 12 février 2003StatutMembreDernière intervention 7 juillet 2009
-
18 avril 2004 à 15:01
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
19 avril 2004 à 19:44
Bonjour à tous,
je voudrai s'avoir si il existe une fonction qui fait la même chose que ZeroMemory() sans que celle-ci n'use (et abuse) des librairies C.
Merci.
Hades53
Messages postés231Date d'inscriptionmercredi 12 février 2003StatutMembreDernière intervention 7 juillet 2009 18 avril 2004 à 15:23
Ca utilise memset, ayant désactiver les librairies C par défaut, je ne peux pas me permettre d'utiliser ZeroMemory(), t'es sûr qu'il n'y a pas une autre fonction pour la remplacer ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 avril 2004 à 15:37
Parce que tu as desactevive lib C, remets et verifie le listing asm genere, tu verras code asm inline, aucun appel de fonction.
C'est le cas au moins depuis VS 5.
MetalDwarf
Messages postés241Date d'inscriptionmardi 29 octobre 2002StatutMembreDernière intervention23 janvier 2006 19 avril 2004 à 11:33
Mais pourquoi tu veux te passer de la libc? Elle est presque indispensable!
Je te conseille d utiliser plutot memset, parce que ca c est ANSI C, donc portable, et non pas uniquement fait pour windows (quand est ce que tout le monde ecrira du code PORTABLE au lieu d utiliser l API Windows qui n apporte rien?).
MetalDwarf
Messages postés241Date d'inscriptionmardi 29 octobre 2002StatutMembreDernière intervention23 janvier 2006 19 avril 2004 à 11:51
Oui je veux bien mais meme sous windows les fonctions de la lib standard ANSI sont disponibles, et elle sont de plus connues par tout le monde... Alors pourquoi utiliser quelque chose qui n est pas standard quand on peut utiliser la lib ANSI, avec comme avantage d etre compris par TOUT le monde?
MetalDwarf
Messages postés241Date d'inscriptionmardi 29 octobre 2002StatutMembreDernière intervention23 janvier 2006 19 avril 2004 à 11:57
Ca c est completement faux!!
La bibliotheque standard n a de standard que son APIn tout le reste est specifique a chque libc (la GlibC est faite differemment de la libc de microsoft), mais en realite les API Windows sont pour un certain nombre des simples renommage ou front-end a des fonctions de la libc. Ce n est pas utiliser du code lent ou rapide, c est une simple question de compatibilite.
Si quelqu un ecrit une applications serveur sous windows par exemple, mais utilise les fonctions standard, le portage sous Linux sera tres facile par exemple. Ce cas est quand meme de plus en plus courant car Linux gagne beaucoup de terrain en entreprise pour les serveurs, et il faut dire qu il y a des raisons...
Je code sous Linux et Windows, mais mes programmes sont la plupart du temps faciles a adapter...
Morale : utiliser les API ANSI quand c est possible pour le C et la STL pour le C++.
MetalDwarf
Messages postés241Date d'inscriptionmardi 29 octobre 2002StatutMembreDernière intervention23 janvier 2006 19 avril 2004 à 12:09
Peut etre, mais pas d etre anti-standards...
Je trouve ca un peu dommage quand meme cet integrisme pro-microsoft de la part de certains admins de cppfrance...
MetalDwarf
Messages postés241Date d'inscriptionmardi 29 octobre 2002StatutMembreDernière intervention23 janvier 2006 19 avril 2004 à 12:17
certainement...pour les membres.
Mais la n est pas la question principale.
Ne doit on pas privilegier les API standards, connues par tous par rapport aux API specifiques? Je pense que si les standards existent c est pour quelque chose, et que tout programme doit rester portable au maximum, sauf lorsque cela cause de trop grandes complications dans le code ou dans la rapidité d execution. C est comme ca que j ai meme pu porter un meme programme sous Windows et sous Ti-89 sans faire de grosses modifications. Et oui les API Windows sur Ti 89...
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 19 avril 2004 à 19:44
moi hje suis de ton avis, enfin surtout en ce qui concerne le C, la conception du C fait qu'il est present et est meme le language natif de beaucoup de system, enormement de system ne possede que un compilo c ansi, donc plutot interret a etre standard si tu ve prevoir de porter du code.
cependant si tu code uniquement sous windows, utiliser l'api win32 comme le fait brunews est sans aucun doute ce qu'il y a de mieux au niveaux vitesse