问题标签 [x86]

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 投票
7 回答
1057 浏览

.net - 在 x64 和 x86 上运行 .net 程序是否需要考虑任何因素?

我相信架构类型(x86 与 x64)在制作 .Net 程序时已为您抽象出来,但还有其他可能导致问题的考虑因素吗?

0 投票
2 回答
374 浏览

assembly - 无法运行汇编程序

我刚刚开始阅读 80x86 汇编语言和计算机体系结构简介。我正在尝试使用 NASM 来运行第 3 章中显示的第一个示例,但没有成功。有人读过这本书并运行示例吗?

0 投票
8 回答
86592 浏览

assembly - `testl` eax 对 eax?

我试图了解一些装配。

汇编如下,我感兴趣的testl行:

我试图理解testl介于%eax和之间的那个点%eax?我认为这段代码的细节并不重要,我只是想用它本身来理解测试——这个值不总是正确的吗?

0 投票
6 回答
14213 浏览

c++ - 用于程序内容的快速伪随机数生成器

我正在寻找一个伪随机数生成器,当它在生成每个数字之前被赋予种子时,它将专门用于快速工作。到目前为止,我见过的大多数生成器都假设您设置一次种子,然后生成一长串数字。到目前为止,唯一看起来与我看到的有点相似的是 Perlin Noise,但它生成的数据过于“平滑”——对于类似的输入,它往往会产生类似的结果。

生成器的声明应该类似于:

或者:

我认为拥有良好的 RandomNumber1 就足够了,因为可以通过散列其输入并将结果传递给 RandomNumber1 来实现 RandomNumber3,但我编写了第二个原型,以防某些实现可以使用独立输入。

此生成器的预期用途是将其用于程序内容生成器,例如通过将树木放置在网格中并确定每个位置的随机树种和随机空间偏移来生成森林。

生成器需要非常高效(低于 500 个 CPU 周期),因为在渲染过程中会实时大量创建程序内容。

0 投票
5 回答
3967 浏览

build - How do I compile to x64 binary from a x86 platform running VS2008 Pro?

I am trying to compile my apps (which uses 3rd party libraries) for the x64 platform. However selecting x64 from Build Configuration Manager from my VS2008 Pro doesn't seem to work. The binary does get created but my client wasn't able to get it to run on x64.

I wonder if the 3rd party DLLs could be the cause. Anyone has any idea on this?

0 投票
2 回答
1517 浏览

.net - 可以将 WinForms 应用程序配置为在不重新编译的情况下以“x86”运行吗?

是否可以将针对“任何 CPU”编译的 WinForms 应用程序配置为在 64 位服务器上作为“x86”运行而无需重新编译应用程序?具体来说,我正在寻找一个 app.config 设置或控制面板小程序来实现这一目标。客户所有的客户端都是x86的,但是服务器是x64的,我们喜欢在服务器上安装WinForms应用,供管理员配置和监控系统。我们宁愿不只为服务器重新编译。

0 投票
1 回答
212 浏览

visual-studio-2008 - 如何在 VS 2008 中追踪过时的构建配置?

我有一个包含许多 C# 项目的大型解决方案。当我第一次打开解决方案并按 F5 时,出现如下编译错误:

错误 3 找不到元数据文件“C:\Users\david\Documents\VS.Projects\CeoTrunk\Ceoimage\bin\x86\Release\Ceoimage.dll”。

我正在编译解决方案和产生“调试(任何 CPU)”错误的项目,并且很长时间没有选择“发布(x86)”。也许几个月。在我第一次为“调试(任何 CPU)”构建解决方案后,这些错误就消失了。如果我关闭解决方案并再次按 F5,问题会再次出现。

这个“Release (x86)”的残余藏在哪里?我该如何摆脱它?为什么它总是回来?

0 投票
5 回答
380 浏览

com - 来自 x86 程序集的 COM?

是否可以通过 x86 汇编语言调用 COM 对象?如果是这样,怎么做?

我为什么要这样做?假设我有两个没有源代码的程序——我只有二进制文件。其中一个实现了 COM 接口,另一个没有。我想将代码注入第一个程序以使用此 COM 接口调用第二个程序,这需要我使用 x86 程序集。

0 投票
3 回答
95275 浏览

assembly - 如何使用 gcc 生成 Intel 语法的汇编代码?

gcc -S选项将以 AT&T 语法生成汇编代码,有没有办法以 Intel 语法生成文件?或者有没有办法在两者之间转换?

0 投票
12 回答
6888 浏览

c++ - Borland x86 内联汇编器;获取标签的地址?

我正在使用带有一些内联汇编代码的 Borland Turbo C++,所以大概是 Turbo Assembler (TASM) 风格的汇编代码。我希望执行以下操作:

所以 SomeLabel 的地址被放入 EAX 中。这不起作用,编译器抱怨:未定义的符号'SomeLabel'。

在 Microsoft Assembler (MASM) 中,美元符号 ($) 用作当前位置计数器,这对我的目的很有用。但这似乎在 Borlands Assember 中不起作用(表达式语法错误)。

更新:更具体地说,我需要编译器在编译/链接期间而不是在运行时生成它作为常量移动到 eax 中的地址,因此它会像“mov eax,0x00401234”一样编译。

任何人都可以建议如何让这个工作?

更新:为了回答 Pax 的问题(请参阅评论),如果 Windows 加载程序在运行时更改了基地址,则 DLL/EXE PE 映像仍将由 Windows 加载程序重新定位,并且标签地址将在运行时由加载程序使用基于重的地址,因此使用标签地址的编译/链接时间值不是问题。

提前谢谢了。