Fonction standard et asm inline

Résolu
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 - 11 août 2004 à 23:27
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 - 12 août 2004 à 00:36
Bonsoir,

Voila, j'ai essayé a plusieurs reprises d'appeler une fonction une fonction standard tel que strcpy, strcmp, memset (n'est pas standard mais marche pas)...

call dword ptr strcpy (j'ai essayé sans dword ptr oci)

error C2415: type d'opérande incorrect
error C2420: 'strcpy' : symbole non conforme dans premier opérande

Je les appelle a partir d'un code asm inline (naked), et je ne comprends vraiment pas, les headers correspondant sont bien inclues pourtant. Enfin, si quelqu'un a une solution, je la prends !
Merci ++

15 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 août 2004 à 00:33
Mais qu'ai-je dit plus haut ????
strcpy N'EXISTE PAS EN TANT QUE FONCTION.
C'est une MACRO.
on ne fera donc pas
call macro , n'a aucun sens
en asm ce sera direct
...
mamacro
....
et le code est mis en place du jeton 'mamacro'.

ciao...
BruNews, Admin CS, MVP Visual C++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 août 2004 à 23:50
Ce ne sont pas des fonctions mais des MACROS quand tu compiles.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
12 août 2004 à 00:00
Ok, ca je savais pas, mais tu parles de toutes les fonctions standard ? Elles sont toutes des MACROS ?
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
12 août 2004 à 00:02
et pour l'histoire de l'appel a strcpy ki ne marche, j'ai remplacé par fonction perso..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 août 2004 à 00:08
si tu remplaces la macro par une fonction, tu ralentis inutilement le prog.

Un bon compilo C insere beaucoup de choses directement en macro, memcpy, memcmp, strcat etc...

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
12 août 2004 à 00:11
Mais justement, ca compile pas, et je ne sais pas koi faire pour kil compile.
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
12 août 2004 à 00:12
Et la fonction ke j'ai substitué a strcpy est inline, donc a le mm effet.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 août 2004 à 00:15
prends exemple sur la mienne, inline bien entendu.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
12 août 2004 à 00:18
"j'ai remplacé par fonction perso.. ", je l'avoue, inspiré de ta fonction bnstrcpy()...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 août 2004 à 00:22
alors doit compiler.

ciao...
BruNews, Admin CS, MVP Visual C++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 août 2004 à 00:23
ah oui au fait, la mienne n'est pas fonction mais bien macro, il y a 'inline' au debut.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
12 août 2004 à 00:24
uè ca compile avec ta fonction mais pas avec la standard, et jvoulais juste savoir pkoi, jtrouve ca bizar !
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 août 2004 à 00:26
ben donne voir son proto et comment tu l'appelles.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
12 août 2004 à 00:30
char *strcpy(char *, const char *)
et je fais un call dword ptr strcpy
C la fonction standard !
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
12 août 2004 à 00:36
Ah je ne savais pas qu'une macro s'appelait de cette maniere, dsl...

merci ++
0
Rejoignez-nous