Accueil > Forum > > > > Memcpy
Memcpy
mardi 14 décembre 2010 à 20:46:11 |
Memcpy

LandTech
|
Bonjour,
Je pose cette question ici, car je n'ai trouvé la réponse nul part ailleurs.
J'aurais voulu savoir si il était possible d'utiliser une fonction comme memcpy, memset, RtlCopyMemory ou autre fonction de manipulation de la mémoire sans utiliser de librairies << auxiliaires >> ni d'utiliser la MSVCRT.lib ou la LIBCMT.lib, tout ceci pour avant tout, des raisons de taille d'executables.
Car, l'executable sur lequel je travaille fait 9,50 ko avec la LIBCMT.lib, et 5,00 ko avec la MSVCRT.lib et le manifest.
Si quelqu'un avait une solution,
Merci d'avance.
LandTech
|
|
mardi 14 décembre 2010 à 22:41:17 |
Re : Memcpy
|
mardi 14 décembre 2010 à 23:09:10 |
Re : Memcpy

LandTech
|
Bonjour,
Justement, j'ai vérifié dans les headers de windows (précisément WinBase.h et WinNT.h) et en réalité CopyMemory est une simple défine de RltCopyMemory elle même define de memcpy et FillMemory et une défine de memset
J'avais utilisé ces fonctions avant de poster et je me suis rendu compte de ces defines.
Merci quand même.
Cordialement
LandTech
PS : voici les defines en question :
(WinBase.h)
Code C/C++ : #define CopyMemory RtlCopyMemory
#define FillMemory RtlFillMemory
et
(WinNT.h)
Code C/C++ : #define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))
#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length))
|
|
mercredi 15 décembre 2010 à 09:02:52 |
Re : Memcpy

BruNews
|
9.5 - 5 = 4.5 Ko
Si peu contre un énorme ralentissement, c'est le contraire de ce que l'on cherche en faisant du natif.
ciao...
BruNews, MVP VC++
|
|
mercredi 15 décembre 2010 à 09:32:49 |
Re : Memcpy
|
mercredi 15 décembre 2010 à 19:02:23 |
Re : Memcpy

LandTech
|
Bonjour,
Je sais que 4.5 Ko ne vaut pas le coup de perdre en vitesse, mais en faite, si je pouvais me séparer de cette lib, je devrais tomber aux alentours de 3 Ko voir moins, ce qui serait parfait.
Or, pour cela, il faut que je trouve une fonction qui me permette de ne pas utiliser la lib, et je sèche.
buno -> je sais que je suis peut-être perfectionniste au Kilo-Octet près, mais je trouve que 9.5 Ko ou même 5 est énormee pour un programme qui fait si peut de chose. Surtout qu'il n'a pas de ressource.
Si quelqu'un avait une solution, SVP.
LandTech.
PS: je veut avoir un executable non compressé, donc inutile de me dire "Utilise UPX" par exemple.
|
|
mercredi 15 décembre 2010 à 19:20:32 |
Re : Memcpy

BruNews
|
Code C/C++ : __inline void myMEMCPY(BYTE *pdst, BYTE *psrc, DWORD n)
{
do {
*pdst++ = *psrc++;
} while(--n);
}
ciao...
BruNews, MVP VC++
|
|
mercredi 15 décembre 2010 à 19:30:51 |
Re : Memcpy

LandTech
|
Bonjour,
Merci BruNews, je teste ça de suite, et aurai tu la même chose pour memset ?
Cordialement
LandTech
|
|
mercredi 15 décembre 2010 à 19:35:04 |
Re : Memcpy

LandTech
|
Bonjour,
Ah, zut, ton code ne s'applique pas aux void* BruNews, mais merci quand même.
Cordialement
LandTech
|
|
mercredi 15 décembre 2010 à 19:46:37 |
Re : Memcpy

LandTech
|
Bonjour,
J'aurai une question,
si on faisait un code asm du genre :
Code :
pop edx ; ça serait n
mov ecx, 0
START_COMPTEUR:
mov eax, DWORD PTR [ebp-1] + ecx ; Pour récupere par exemple l'octet ecx dans src
mov DWORD PTR [ebp-2] + ecx, eax ; Pour place l'octet recuper dans dst + ecx
add ecx
cmp ecx, edx
jne START_COMPTEUR
Cordialement
LandTech
|
|
Cette discussion est classée dans : fonction, utiliser, lib, msvcrt, memcpy
Répondre à ce message
Sujets en rapport avec ce message
utiliser une fonction d'une lib C dans une classe c++ [ par snook ]
Bonjour,j'aimerais savoir comment doit on proceder pourappeler une fonction d'une librairie ecrite en C dansmon programme C++?exemple: ma lib possede
utiliser une librairie faite pour du C dans du C++??? [ par cartouh ]
Bonjour,j'essaie d'utiliser la librairie CPDFLib (http://www.fastio.com/)je l'ai compilé sous visual comme ils disent dans la doc, j'obtient un .libje
differencier fichier/dossier [ par glipper ]
Bonjour,je voudrais juste savoir quelle fonction utiliser pour faire la difference entre un fichier et un dossier... j'ai essayé d'utiliser la fonctio
Flash OCX sans MFC [ par Bilock ]
Bonjour,Depuis quelque temps je cherche un moyen d'utiliser Flash OCX sans faire appel aux MFC. Et vu mon niveau en prog ben c'est pas facile.Dernière
Dlg de connection [ par coockiesch ]
Hello!!!J'aimerait faire 'apparaitre' la boite de dlg de connection internet de windows.J'ai essayé InternetAutodial, mais elle semble avoir aucun eff
prob avec dll et lib [ par zelze ]
voila mon prob:j'ai inséré le lib dan le projet, j'ai indiqué:extern "C" __declspec(dllimport) int fonction(char*);fonction(texte);mais lorsque je veu
Attendres x secondes [ par JosueClement ]
Je compile tous mes programmes avec Borland Turbo C++ 4.5 !Je voudrais utiliser une simple fonction qui fasse attendre x sec.Mais la fonction sleep();
Re-utiliser une variable [ par squall51 ]
J'essaie de créer un programme.J'ai du le diviser en plusieurs fonction.J'aimerai savoir si il est possible d'utiliser une variable definie dans un fo
Comment utiliser SwitchToThread ?? [ par vinvay ]
Losque je veux mettre un thread à la fin de la liste d'ordonnancement, il faut que j'utilise la fonction SwitchToThread() à l'intérieur du thread conc
analyseur d'expression [ par loicus ]
Voila, je cherche une fonction, qui pourrait transformer une expression (suite de char) en une ligne de code qui sera utiliser par le programmeex : ma
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|