0

我为汇编编程安装了 masm,但我对下面的代码链接有问题

.586
.MODEL FLAT
.STACK 4096
INCLUDE io.h

.DATA
prompt      BYTE "shalgham", 0

.CODE
_main       PROC
            output  prompt

            mov     eax, 0
            ret
_main       ENDP
END

当我通过命令行组装上面的代码时,一切都很好
,但是当我想将它链接到下面时,错误将在命令行中打印

C:\Users\mahdi\Desktop\New folder>ml /c /coff simple.asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.

 Assembling: simple.asm

C:\Users\mahdi\Desktop\New folder>link /subsystem:console /entry:main simple.obj
 io.obj Kernel32.Lib
link: extra operand `simple.obj'
Try `link --help' for more information.  

当我使用 Visual Studio 2010 时,将打印以下错误。

1>InitializeBuildStatus:
1>  Touching "Debug\console32.unsuccessfulbuild".
1>_MASM:
1>  Assembling [Inputs]...
1>GenerateTargetFrameworkMonikerAttribute:
1>Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
1>temp.obj : error LNK2001: unresolved external symbol itoaproc
1>temp.obj : error LNK2001: unresolved external symbol atoiproc
1>temp.obj : error LNK2001: unresolved external symbol dtoaproc
1>temp.obj : error LNK2001: unresolved external symbol atodproc
1>temp.obj : error LNK2001: unresolved external symbol inproc
1>temp.obj : error LNK2019: unresolved external symbol outproc referenced in function _main
1>E:\programming\assembly\VS2010_files\console32\Debug\console32.exe : fatal error LNK1120:     6 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:06.14
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

在问这个问题之前,我非常搜索它但没有找到解决方案

4

1 回答 1

3

尽管@Michael 已经回答了这个问题,但我还是想澄清一下。

我们必须将 CYGWIN 路径放在 MS Visual Studio 路径后面。

 Path=....C:\Program Files (x86)\Microsoft Visual Studio\VC98\bin;C:\cygwin\bin

打开 Windows 命令提示符:

cmd
link --help

确保:

Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
于 2014-04-22T10:19:20.207 回答