Probleme de link [nasm + alink]

cs_EEkaMouse
Messages postés
2
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
29 avril 2003
- 14 avril 2003 à 01:31
nico20011caus
Messages postés
37
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
14 février 2009
- 24 juil. 2005 à 02:34
Salut!

j'ai un problème au niveau de l'éditeur de lien.

j'ai un programme en *.obj dont la source est la suivante :

%include "..\inc\win32n.inc"

[EXTERN ExitProcess]

SECTION CODE USE32 CLASS=CODE
..start:

PUSH UINT NULL
CALL ExitProcess



on ne peut pas faire plus simple. Ca se compile sans erreur.

ensuite, vient l'édition de liens avec la commande :
alink.exe -oPE monprog.obj kernel32.lib

Là, j'ai le message suivant :
Loading file monprog.obj
Loading file kernel32.lib
1413 symbols
Loaded first linker member
matched Externs
matched ComDefs
Unresolved external ExitProcess

voyez la phrase en gras? je ne comprends pas.
le kernel32.lib, je l'ai piqué dans un paquetage masm parceque j'en ai pas trouvé d'autres.

En bref, ma question est :
- Y a t-il quelquechose qui m'échappe et qui vous saute aux yeux?
- Comment construire un fichier lib?

5 réponses

coockiesch
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
14 avril 2003 à 23:40
Salut!
Je cherche é comprendre comment utiliser alink, pourrais tu me donner la syntaxe de la ligne de commande???
Merci
0
gblade
Messages postés
85
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
19 mai 2003

16 avril 2003 à 22:42
Je n'utilise pas alink mais as-tu essayé d'assembler avec le nom complet de la fonction ? Avec la décoration je veux dire : _ExitProcess@4

Enfin, sinon je ne sais pas, essaie un autre linker, LINK de Microsoft (qui se trouve ds le package MASM32 ou avec VS) ou ilink32 de Borland vont très bien.
0
cs_PierreF
Messages postés
33
Date d'inscription
mercredi 15 mai 2002
Statut
Membre
Dernière intervention
24 octobre 2003

21 avril 2003 à 10:30
tu peut contourner le problème (et faire des executable plus petit)
tu met

EXTERN ExitProcess
IMPORT ExitProcess kernel32.dll

;les deux ligne suivant sont equivalente a SECTION CODE USE32 CLASS=CODE
[SECTION CODE]
[BITS 32]

..start:

PUSH UINT NULL
CALL [ExitProcess] ;attention il faut mettre ExitProcess entre []
0
cs_EEkaMouse
Messages postés
2
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
29 avril 2003

29 avril 2003 à 23:31
Salut!
Désolé de n'avoir pu vous remercier plus vite. Merci pour les réponses. Quand à alink, regarde la doc, car je n'ai pas la syntaxe en tête.
0

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

Posez votre question
nico20011caus
Messages postés
37
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
14 février 2009

24 juil. 2005 à 02:34
Ou qu'on pourrait avoir alink je ne le trouve pas sur google
0