【问题标题】:Visual Studio Express and Macro Assembler includesVisual Studio Express 和宏汇编器包括
【发布时间】:2012-10-16 18:19:31
【问题描述】:

我同时拥有 Visual Studio Express 2012 和 Vicual C++ Express 2010。我使用它们的 32 位 MASM 编译器 (ml.exe) 得到了相同的结果。 我不知道,但我怀疑非 Express 用户可能有同样的问题。

我正在尝试用 MASM 编译一个小程序。显然我需要包含masm32rt.inc。编译器抱怨它找不到这样的文件,实际上我的系统上似乎没有它。经过一番搜索,我设法找到了该文件的一个版本,但结果却是更多 include-s 和 includelib-s 我没有的文件。

我试过include \masm32\include\masm32rt.incinclude \masm32\include\windows.incinclude windows.incinclude masm32rt.inc。我尝试使用 > ml test.asm 的 2010 年和 2012 年的 Visual Studio Express 命令提示符编译它们。我尝试搜索这些文件,但我的电脑上没有它们。我确实有一些(大约 30 个).inc 文件,例如 macamd64.incmm.inc,但它们似乎都不包含我需要的东西:Windows 函数和常量的声明。

我有什么遗漏吗?谷歌没有提供太多帮助。大多数教程都假设我有这些文件。但话又说回来,大多数教程都以从masm32.com 下载 MASM 的说明开始。我不能使用我已经拥有的任何 MASM 编译器吗?

【问题讨论】:

    标签: assembly visual-studio-express masm


    【解决方案1】:

    不,ml 只是汇编程序。除非您想重新发明轮子并创建所有包含和导入库,否则您需要安装 masm32。它包括所需的包含、导入库、结构、等式等...它将让您的生活更轻松

    【讨论】:

    • 太糟糕了。虽然我可以使用来自 Visual Studio 的 ml.exe 编译器来使用包含和编译 masm32.com 安装提供的示例。它显然是相同的,或几乎相同的编译器。那么,问题是,为什么 masm32.com 的人们没有单独下载的包含和示例,而不是强迫我在 root:\masm32 中安装一些东西:(
    【解决方案2】:

    您尝试编译的代码使用 MASM32 宏和/或 MASM32 库。这意味着它是为 MASM32 构建的。 MASM32 宏和库在 Visual Studio 中不可用,因为 MASM32 与不同的 MASM 兼容(与程度)编译器。您必须至少拥有所需的包含文件才能成功编译该代码。

    【讨论】:

    • MASM32 使用与 VS 完全相同的汇编器 (ML) 和链接器。它是类固醇的 MASM。 MASM32 可以与 VS 一起使用。 MASM32 包含宏、原型、结构定义、导入库等,让生活更轻松。您不必使用它,但您必须为 api 调用、导入库、结构和等式创建原型。
    猜你喜欢
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    相关资源
    最近更新 更多