macos - 如何在 Mac OS X 上升级汇编程序
问题描述
我正在尝试编译一些使用内联汇编语言的代码。问题是代码使用了一个名为 xgetbv 的指令。这是一条 x86 指令,需要最新版本的“as”命令才能使用它。Mac OS X 带有 1.38 版的“as”命令。这是一个太旧的版本,无法识别 xgetbv 指令。我认为我的问题的解决方案是将'as'命令升级到最近的东西。我曾尝试使用tigerbrew 安装binutils,但不包括'as' 命令。然后我下载了 binutils 2.30 源代码并尝试自己构建它。事情似乎进展顺利,但是当我试图找到新的“as”命令时,没有找到。我不认为它曾经被建造过。有人知道如何在 Mac OS X 上升级“as”命令吗?
这只是需要编译的源代码的一个示例。它非常小而且不起作用。这段代码只需要编译。
在 main.c 中:
int main(int argc, char *argv[])
{
asm volatile("xgetbv");
}
$ gcc main.c ---> 应该产生一个 ./a.out 文件。
目前这是我看到的错误:没有这样的指令:xgetbv
。
解决方案
推荐阅读
- php - BrowserSync 服务器选项中间件 - 如果使用代理,在哪里调用此函数?
- java - Spring Boot:启动和停止启用 SSL 的 REST API 端点 KAFKA 消费者:要求身份验证
- r - 从 R 中的旧向量生成新向量的最有效方法
- javascript - 为什么这个日志[object Object],[object Object]?
- c++ - Is it OK to save a reference to the object managed by a shared_ptr?
- sql - 在 MM/DD/YYYY 中翻转日期和月份
- c# - 正则表达式:如果在 x 范围内以 char 开头,则不匹配
- excel - 运行时错误 '9' vba 代码;在不知道名称的情况下打开 xlsx 文件并对其进行更改
- php - PHP长轮询脚本未结束
- c# - 尽管配置了查询过滤器,但已加载 EF Core 导航属性