问题标签 [x86-64]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
17 回答
738311 浏览

assembly - LEA 指令的目的是什么?

对我来说,它就像一个时髦的 MOV。它的目的是什么,我应该什么时候使用它?

0 投票
3 回答
42781 浏览

c++ - C++ 中的 CPUID 实现

我想知道这里是否有人有一些 C++ CPUID 实现的好例子,可以从任何托管的 .net 语言中引用。

另外,如果不是这种情况,我应该知道 X86 和 X64 之间的某些实现差异吗?

我想使用 CPUID 来获取运行我的软件的机器上的信息(崩溃报告等...),并且我想保持一切尽可能广泛兼容。

我问的主要原因是,尽管我对 CPU 寄存器等有基本的了解,但在编写可能是所有机器指令的内容时,我是一个完全的菜鸟……

在人们开始告诉我 Google 之前:我在网上找到了一些示例,但通常它们并不意味着允许来自托管代码的交互,而且这些示例都不是针对 X86 和 X64 的。大多数示例似乎是特定于 X86 的。

0 投票
2 回答
6284 浏览

c++ - 多线程和内存

我在 Visual C++ 文档中读到,多个线程从同一个对象中读取是安全的。

我的问题是:多核 X86-64 CPU 如何处理这个问题?

假设您有一个 1 MB 的内存块。不同的线程真的能够同时读取完全相同的数据,还是核心一次读取一个单词而一次只允许一个核心读取一个特定的单词?

0 投票
2 回答
1309 浏览

c# - 为 X86/X64 编译程序集以与 C# 一起使用

我想将 cpuid 功能添加到我的 C# 应用程序中。我在网上发现了这篇有趣的博客文章。我可能需要 MASM 来编译它,但是:

  1. 我应该如何开始?
  2. 我怀疑我将不得不为 X86 和 X64 编译一个 dll,但我又不知道如何去做这样的事情(而且我有点时间紧迫)。

因此,任何帮助都将受到欢迎!

0 投票
5 回答
8995 浏览

macos - 在 OSX10.6 上反汇编成 x86_64(但使用 _Intel_ 语法)

我知道otool -tv,但我更愿意使用Intel语法而不是 AT&T,主要是为了轻松地在一本书中学习,而不必查看数千个%' 和$'。

我也很感激任何关于我可以在哪里找到gdb配置文件的提示。

编辑:我忘记了:我正在运行一个 64 位处理器,但想知道是否也可以反汇编成 32 位程序集?不仅如此,OSX 的gdb命令list与标准GNU版本的工作方式有什么不同吗?

非常感谢!

(另外,如果你知道我在哪里可以找到一个来自 C -> MIPS 的小反汇编程序,那玩起来会很有趣。但不是必须的!)

0 投票
4 回答
83998 浏览

assembly - 新的 X86_64 处理器寄存器的名称是什么?

在哪里可以找到此架构上用于组装的新寄存器的名称?

我指的是 X86 中的寄存器,如 EAX、ESP、EBX 等。但我希望它们是 64 位的。

我认为它们与我反汇编 C 代码时不同,我得到的是 r 而不是 e。

0 投票
3 回答
21987 浏览

macos - 在 OSX 上预编译头文件和编译通用对象

我们为我们的项目使用带有 GCC 的预编译头文件,并像这样构建它们:

现在我正在 OSX 10.6 上构建项目,并尝试使用同时为所有架构构建的漂亮特性,如下所示:

但是,这似乎不适用于预编译的标头:

编辑:正如 Mark 根据 XCode 指出的,必须为每个体系结构单独构建预编译头文件,所以我的问题是,是否有任何方法可以让 gcc 在构建通用对象时使用正确的预编译头文件。

我确实意识到我可以像 XCode 那样完全独立地构建每个架构,但我更愿意利用同时构建它们的可能性,而不必弄乱不同的构建配置。

0 投票
9 回答
1106 浏览

c++ - x64架构与x86有何不同

我需要弄乱这些架构上的堆栈,我真的是一个 n00b。我可以做的任何阅读主题/谷歌搜索的指针。我正在寻找这些架构如何从根本上不同。不仅仅是关于这个主题的维基百科文章http://en.wikipedia.org/wiki/X64

0 投票
5 回答
8165 浏览

x86 - x87 相对于 SSE 的优势

我知道 x87 具有更高的内部精度,这可能是人们看到的它与 SSE 操作之间的最大区别。但我不得不怀疑,使用 x87 还有其他好处吗?我有-mfpmath=sse在任何项目中自动输入的习惯,我想知道我是否遗漏了 x87 FPU 提供的任何其他内容。

0 投票
7 回答
2353 浏览

c++ - 全球和本地唯一的 10 个字符 ID

我需要生成一个 10 个字符的唯一 ID(SIP/VOIP 人员需要知道它用于 P-Charging-Vector 标头中的参数 icid 值)。每个字符应为 26 个 ASCII 字母之一(区分大小写)、10 个 ASCII 数字之一或连字符减号。

它必须是“全球唯一(在生成 id 的机器之外)”和足够“本地唯一(在生成 id 的机器内)”,所有这些都需要打包成 10 个字符,唷!

这是我的看法。我首先将“必须”编码为base-63(它是一个无符号长整数,编码后将占用1-6个字符),然后尽可能多地编码当前时间戳(它的一个 time_t/long long int 编码后将占用 9-4 个字符,具体取决于编码后的 ip 地址首先占用多少空间)。

我还在时间戳中添加了循环计数“i”以保持唯一性,以防在一秒钟内多次调用该函数。

这是否足以成为全球和本地独特的,还是有另一种更好的方法?

高拉夫