问题标签 [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 投票
8 回答
43022 浏览

c - 在 C 中将 32 位应用程序转换为 64 位应用程序

我目前正在用 C 语言将 32 位应用程序转换为 64 位应用程序。该应用程序目前正在使用 x86 架构(Windows、osx、Unix、Linux)。因此,在开始编码之前,我想知道在转换应用程序时需要考虑什么。

0 投票
12 回答
115485 浏览

c# - 如何查找本机 DLL 文件是编译为 x64 还是 x86?

我想确定本机程序集是从托管代码应用程序 ( C# ) 编译为 x64 还是 x86。

我认为它必须在 PE 标头中的某个位置,因为 OS 加载程序需要知道此信息,但我找不到它。当然,我更喜欢在托管代码中执行此操作,但如果有必要,我可以使用本机 C++。

0 投票
2 回答
2390 浏览

gcc - 为 i386 构建 crti.o

我正在尝试构建一个交叉编译器,其中 x86_64 为主机,i386 为目标。我得到了(所有常见的)crti.o:没有这样的文件错误。而不是从发行版中获取已经构建的 crti.o 和 crtn.o ......我该如何从 glibc(或可能的 gcc)源中显式构建这些文件?

仅供参考,我很清楚 x86_64 编译器的 -m32 选项。我宁愿只有一个 32 位的编译器环境。另外,我不想使用任何已经构建的 i386 编译器的原因是因为我计划根据我的测试需要混合和匹配 glibc/binutils/gcc 版本。

谢谢,陈兹

0 投票
4 回答
11101 浏览

crystal-reports - 检测 x86/x64 并安装正确的 .msi

我正在完成一份申请,该申请将很快提交以进行 Windows 徽标计划验证。要求之一是 x64 兼容性。具体来说,Crystal Reports 2008 必须在 x64 下工作。

我的问题是 Crystal Reports basic 2008(与 Visual Studio 2008 一起打包的那个)没有合并模块,必须使用提供的 .msi 安装程序进行安装。他们为 x86 和 x64 提供单独的安装程序。

那么如何在安装过程中检测 x86 和 x64,然后运行适当的 Crystal msi?如果没有合并模块,这甚至可能吗?

编辑:

这:

似乎告诉我如何检测它(感谢 MicSim)。但是如何在 MSI 中执行此操作?是自定义动作吗?然后如何触发 x32 和 x64 水晶报告所需的不同 msi?

为什么 x86 水晶安装程序在 WOW64 下不起作用?您必须安装 x64 Crystal 才能使用您的 WOW64 x86 应用程序。令人沮丧...

编辑2:

好的,所以这里似乎涵盖了检测 x86/x64。现在如何手动触发您选择的 msi?

0 投票
7 回答
865 浏览

linux - 在 64 位操作系统上开发有什么优势吗?

我不确定我是否理解正确:在同一系统上,64 位操作系统运行/编译代码是否比 32 位操作系统快?

我们使用的是 64 位操作系统,它似乎只会导致与旧版和专有软件的兼容性问题。(我们正在运行 Ubuntu 9.04 Jaunty amd64)

0 投票
4 回答
11921 浏览

gcc - 64 位整数的 cmpxchg 示例

我在 i686 架构中使用 cmpxchg(比较和交换)进行 32 位比较和交换,如下所示。

(编者注:最初的 32 位示例有问题,但问题不在于它。我相信这个版本是安全的,并且作为奖励,它也可以为 x86-64 正确编译。 另请注意,内联 asm 不是为此需要或推荐;或在 i486 和 x86-64 上或上__atomic_compare_exchange_n的较旧__sync_bool_compare_and_swap工作int32_tint64_t。但这个问题是关于使用内联汇编来完成的,以防万一。)


64 位比较和交换的 x86_64 架构的等效项是什么

0 投票
2 回答
4059 浏览

linux - 从 shell 中杀死 linux 套接字(gentoo amd64)

伙计们,在linux中从shell中终止已建立连接的最佳方法是什么?

看起来有 'tcpkill' 和 'cutter' 工具可用,但是,在我的 gentoo amd64 上,tcpkill 被 'amd64' 关键字禁用,并且使用 cuter 时,打印错误“打开 /proc/net/ip_conntrack:没有这样的文件或目录”。

有没有其他方法可以终止连接?

谢谢。

0 投票
4 回答
357 浏览

.net - 在 x86 计算机上开发 ASP.NET 应用程序但目标计算机为 64 位(Windows Server 2008)时的注意事项

我们必须在 Windows 2008 64 位服务器上部署我们的应用程序。由于该应用程序已经在 Windows 2003 服务器安装上运行了一年多,我们知道一切正常。我们仍在 Windows XP 上进行开发。

但是安装在Windows 2008 64位系统上让我感觉有点不安。

那么有什么地方需要我们注意吗?有什么陷阱或棘手的事情要做吗?

0 投票
5 回答
881 浏览

c++ - How to reserve bottom 4GB VM in an x64 C++ app

Working on porting a 32bit Windows C++ app to 64 bit. Unfortunately, the code uses frequent casting in both directions between DWORD and pointer values.

One of the ideas is to reserve the first 4GB of virtual process space as early as possible during process startup so that all subsequent calls to reserve memory will be from virtual addresses greater than 4 GB. This would cause an access violation error any unsafe cast from pointer to DWORD and then back to pointer and would help catch errors early.

When I look at the memory map of a very simple one line C++ program, there are many libraries loaded within bottom 4GB? Is there a way to make sure that all libraries, etc get loaded only above 4GB?

Thanks

0 投票
5 回答
3207 浏览

macos - 操作系统如何影响汇编代码的运行方式?

我希望学习 x86 的汇编语言。我在 Mac 上,我假设大多数 x86 教程/书籍都使用适用于 Windows 的代码。

运行代码的操作系统如何影响代码的作用,或者确定代码是否有效?我可以按照基于 Windows 的教程,修改一些命令以使其相对轻松地在 Mac 上工作吗?更一般地说,Mac 汇编程序员应该知道什么棘手的问题?谢谢!