我安装了VS2013和VS2015 Professional(完全安装),并且bin文件夹下都有“armasm.exe”。我将bin文件夹设置为“path”环境变量。当我尝试“armasm /?”在cmd下,它会提示出一个带有红色十字标志的对话框,上面写着:
应用程序无法正确启动(0x000007b)。单击“确定”关闭应用程序。
我想知道这个程序是否适用于ARM CPU的汇编语言。该程序是否仅在安装了VS的ARM机器上运行?
我怎样才能让它运行?
答案 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>循序渐进:
vcvarsx86_arm.bat
中拖动,然后按Enter运行它。这将设置您的环境以运行x86 / ARM工具。armasm.exe
(或只是在提示符中键入armasm.exe
,不合格)。它现在将运行,因为环境已正确设置(包括路径,因此无需输入完整路径即可找到它。)还有一个\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工具。