J'ai deux fichiers, dans un je déclare la variable SEED en tant que tel:Comment réparer une erreur «non résolue externe» dans l'assembly x86?
;file1.asm
.MODEL SMALL,BASIC
.FARDATA RAND_DATA
SEED DW ?
.CODE
;Some code
END
Et dans l'autre, j'essaie de faire référence à la variable
;file2.asm
.MODEL SMALL,BASIC
EXTERNDEF SEED:WORD
FOO PROC FAR PUBLIC USES DX,DS
MOV SEED,DX
FOO ENDP
END
Lorsque je tente de compiler les deux fichiers à l'aide le code
ml file1.asm file2.asm io.lib
je reçois l'erreur suivante:
error L2029: 'SEED' : unresolved external
Qu'est-ce que je fais mal?
Merci! SEED dans file1.asm DEVRAIT être PUBLIC être vu par d'autres modules.
comment cela se fait-il? –
#yuval: voir comment cela se fait dans la réponse modifiée. Notez qu'il existe quelques variantes en fonction de l'assembleur utilisé, mais en général, PUBLIC est le mot clé approprié à cette fin. – mjv
merci beaucoup! –