当前位置: 代码迷 >> 汇编语言 >> 汇编程序连接过程异常
  详细解决方案

汇编程序连接过程异常

热度:3473   发布时间:2013-02-26 00:00:00.0
汇编程序连接过程错误
下边的程序,汇编通过,可"Build All"时,产生如下的错误:
c.obj : error LNK2001: unresolved external symbol _ExitProcess@0
c.obj : error LNK2001: unresolved external symbol _Crlf@0
c.obj : error LNK2001: unresolved external symbol _WriteString@0

请问如何解决这个问题?源代码如下:
INCLUDE E:\masm32\include\Irvine32.inc

.data
aName BYTE "abcdefghijklnm",0
nameSize=($-aName)-1

.code
main PROC

mov ecx,nameSize
mov esi,0
L1: movzx eax,aName[esi]
  push eax
  inc esi
  loop L1

mov ecx,nameSize
mov esi,0
L2: pop eax
  mov aName[esi],al
  inc esi
  loop L2

mov edx,offset aName
call WriteString
call Crlf
exit
main ENDP
END main


------解决方案--------------------------------------------------------
虽然我不用masm但也可以猜到,这是因为你缺少了包含文件。如果是在nasm中,自己声明一下那三个符号,然后找一下定义了它们的lib库连接的时候加上就可以了。
------解决方案--------------------------------------------------------
你这个问题的原因是因为缺少必要的lib库。找找它们在哪个库里加上就好。masm有includelib宏吧,所以我不太肯定那个库是不是写在了某个.inc中。
------解决方案--------------------------------------------------------
检查路径