- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试使用 gcc 编译器在 linux 下编译此代码:
static inline unsigned long get_current(void)
{
unsigned long current;
asm volatile (
" movl %%esp, %%eax;"
" andl %1, %%eax;"
" movl (%%eax), %0;"
: "=r" (current)
: "i" (0xfffff000)
);
return current;
}
但是我收到了这个错误:
program.c: Assembler messages: program.c:455: Error: incorrect
register `%rbx' used with `l' suffix
这里有什么问题吗?
最佳答案
显然,您正在为 64 位编译。如果不是您想要的,请尝试使用 gcc -m32,或者使用 64 位寄存器(%esp 在 x64 上根本没有意义)。
关于c - 不正确的寄存器 0x104567910 与 '%rbx' 后缀一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14171955/
我有一个基于 python 的网络服务器在我的树莓派上运行,该服务器网络抓取 Roblox 上的交易货币汇率。如果你不知道我刚才说的是什么,你只需要知道我正在收集某个网页上变化的数字。我想将这些收集到
最新版本的 gcc 正在生成对我来说没有意义的程序集。我没有使用优化编译代码;但是,即使没有优化,此代码的某些部分也没有意义。 这是C源代码: #include int main()
我正在尝试使用 gcc 编译器在 Linux 下编译此代码: static inline unsigned long get_current(void) { unsigned long cur
我正在尝试使用 gcc 编译器在 linux 下编译此代码: static inline unsigned long get_current(void) { unsigned long cur
关注后 railstutorial.org我正在尝试运行 bundle install .它列出了 gem 的使用,例如: Using railties (3.0.7) Using rails (3.
我正在研究 8086/8080 微处理器。其中使用的寄存器有名称, RAX RBX RCX RDX 当寄存器被命名为 R8、R9... 到 R15 时,继续直到 R8。我想知道 我们是否也将寄存器 R
我正在编写一个 gem,我的目标是 Ruby、JRuby 和 Rubinius。我正在使用 Travis CI 来构建我的库。当我以 Ruby 和 JRuby 为目标时,我的 gem 构建正确,但以
自从我使用 MSVC 2013 以来,我的应用程序在执行以下代码时崩溃了(稀疏矩阵乘以 vector ,伪代码:A = this * pVector): complex x = (A.getValue
x64 寄存器是否可以互换,从某种意义上说,使用它们的一种组合的任何指令都可以与其他任何组合一起使用?除了名称之外,是否存在性能差异或任何其他考虑因素使它们彼此不同? 最佳答案 不是。虽然大多数 x8
我想学习汇编,来自 C 一本书建议尝试实现这个算法,这是一个非常简单的排序算法 begin for i = 0 to len-1 small = arr(i) index = i
这个问题已经有答案了: What do the E and R prefixes stand for in the names of Intel 32-bit and 64-bit registers
我正在编写 Rust 代码,需要获取当前存储在“ebx”寄存器 (x86) 中的值。 我的代码 [0] 如下所示: #![feature(asm)] fn main() { let ebx:
这个问题在这里已经有了答案: How can you pull a value from a register? (1 个回答) 关闭 9 年前。 假设我想从双核 x64 CPU 上的那些寄存器(以
我是一名优秀的程序员,十分优秀!