你能否将NASM组装的文件与MSVC

时间:2015-08-04 07:42:45

标签: visual-studio visual-c++ visual-studio-2013 linker nasm

有没有办法使用任何visual studio的工具来链接这个code

        global  _main
        extern  _printf

        section .text
_main:
        push    message
        call    _printf
        add     esp, 4
        ret
message:
        db      'Hello, World', 10, 0

我可以用gcc来做,但我想知道是否有一种不使用gcc的方法。感谢。

3 个答案:

答案 0 :(得分:0)

查看MSVC linker - 链接器选项页面特别有用,其中包含该工具可用的命令行参数列表。

如果您需要启动,this SO post会提供有关手动运行的信息。

答案 1 :(得分:0)

Visual Studio已经有一段时间了,它包含MASM来组装你的代码,当然它还有链接器来构建相应的可执行文件。 您甚至可以在IDE中执行此操作;它依赖于VS版本。看看这个链接中的Assembly Programming with Visual Studio 2010/2012,你会看到VS 2010/2012,2014中使用的链接器参数对于像你这样的简单程序不会有太大变化。即使在IDE中进行示例,VS也会显示与最终链接相对应的命令行参数。

答案 2 :(得分:0)

猜猜我参加聚会有点晚了。

是的,您可以链接它。虽然它需要一些工作才能让它运行。通常,nasm -f win32 应生成 Microsoft 兼容的目标代码。有关详细信息,请参阅他们的 manual page

如果您想将它与 Visual Studio 一起使用,请尝试遵循 this page。通常,您将 .asm 文件添加到项目中,然后使用自定义构建选项 -> 命令行来设置 nasm.exe -f win32 -o $(OutputPath) $(InputPath)