我同时安装了VS2013和VS2015 Professional (完全安装),它们在bin文件夹下都有一个"armasm.exe“。我将bin文件夹设置为"path“环境变量。当我尝试"armasm /?“在cmd下,它会提示出一个带有红十字标志的对话框,该对话框指出:
应用程序无法正确启动(0x000007b)。单击“确定”关闭应用程序。
我想知道这个程序是否用于ARM CPU的汇编语言。这个程序只运行在安装VS的ARM机器上吗?
我怎么才能让它跑?
发布于 2016-07-07 05:15:42
我想您是在谈论armasm.exe文件夹中的\VC\bin\x86_arm文件吧?如果是,那么不是,这是一个x86二进制,而不是ARM二进制。它会在你的机器上运行。
实际上是x86.的ARM交叉汇编程序,这意味着它允许您在x86主机上组装ARM二进制文件。把它想象成x64 x86的交叉编译器(在x86_amd64中)。它可以在32位x86主机上编译64位二进制文件。
无法启动它的原因是环境没有正确设置,所需的依赖项无法定位。当我试图启动它时,我得到了比您更多的描述性信息:
系统错误: 程序无法启动,因为您的计算机缺少msvcdis140.dll。尝试重新安装程序以解决此问题。
您应该使用vcvarsx86_arm.bat 批处理文件(在同一个文件夹中)来正确设置您的环境,在之前, 将逐步运行任何工具.:
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。微软似乎没有提供运行在ARM平台上的ARM汇编程序。这是有道理的--我不认为ARM是支持开发的主机。Visual当然还没有移植到ARM。只需在x86或x64上使用ARM工具即可。
https://stackoverflow.com/questions/38219233
复制相似问题