运行“armasm.exe”失败:“应用程序无法正常启动(0xc000007b)

时间:2016-07-06 08:14:54

标签: visual-studio assembly visual-studio-2013 visual-studio-2015 arm

我安装了VS2013和VS2015 Professional(完全安装),并且bin文件夹下都有“armasm.exe”。我将bin文件夹设置为“path”环境变量。当我尝试“armasm /?”在cmd下,它会提示出一个带有红色十字标志的对话框,上面写着:

  

应用程序无法正确启动(0x000007b)。单击“确定”关闭应用程序。

我想知道这个程序是否适用于ARM CPU的汇编语言。该程序是否仅在安装了VS的ARM机器上运行?

我怎样才能让它运行?

1 个答案:

答案 0 :(得分:2)

我假设你在谈论armasm.exe文件夹中的\VC\bin\x86_arm文件?如果是,那么不,那是x86二进制文件,而不是ARM二进制文件。它将在您的机器上运行。

它实际上是x86的ARM交叉汇编程序。这意味着它允许您在x86主机上组装ARM二进制文件。可以把它想象成x86的x64交叉编译器(在x86_amd64)文件夹中。这可以在32位x86主机上编译64位二进制文​​件。

您无法启动它的原因是因为未正确设置环境,并且无法找到所需的依赖项。当我尝试启动它时,我会得到比你更具描述性的信息:

  

系统错误:
  程序无法启动,因为您的计算机缺少msvcdis140.dll。尝试重新安装该程序以解决此问题。

您打算使用vcvarsx86_arm.bat批处理文件(在同一文件夹中)来正确设置环境,尝试运行任何工具之前。< / strong>循序渐进:

  1. 打开一个新的命令提示符。
  2. vcvarsx86_arm.bat中拖动,然后按Enter运行它。这将设置您的环境以运行x86 / ARM工具。
  3. 拖入armasm.exe(或只是在提示符中键入armasm.exe,不合格)。它现在将运行,因为环境已正确设置(包括路径,因此无需输入完整路径即可找到它。)
  4. 还有一个\VC\bin\amd64_arm文件夹。这包含在x64主机上运行的ARM可执行文件的工具。除了先在该文件夹中启动vcvarsamd64_arm.bat文件外,您可以完全相同的方式使用它们。

    值得注意的是,我还看到一个\VC\bin\arm文件夹,但(至少在我的VS 2015安装中)只包含一个EXE:pgosweep.exe。 Microsoft似乎没有提供在ARM平台上运行的ARM汇编程序。这是有道理的 - 我不认为ARM是支持开发的主机。 Visual Studio当然还没有移植到ARM。只需在x86或x64上使用ARM工具。