标签: 32-bit

从32位应用程序创建64位注册表项(非WOW64)

我有一个Visual Studio安装程序,正在创建一些注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\MyApp
Run Code Online (Sandbox Code Playgroud)

但它正在创建的注册表项自动出现在Wow6432Node下:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyApp
Run Code Online (Sandbox Code Playgroud)

在msi执行的C#代码中创建注册表项时,如何忽略Wow6432Node?

registry 64-bit windows-installer 32-bit wow64

13
推荐指数
1
解决办法
9176
查看次数

32位Windows上C++应用程序可用的最大内存是多少?

只是想知道C++应用程序使用的最大内存是否有限制

我知道这是2GB - 这是正确的吗?

如果一个C++应用程序尝试请求超过2GB内存,这会导致内存崩溃吗?

最后的问题 - 如果运行C++应用程序的机器已经内存不足而且C++应用程序要求100MB的阵列(即连续的内存),操作系统是否会通过虚拟内存来适应这种情况?

c++ windows 32-bit memory-limit

13
推荐指数
2
解决办法
2万
查看次数

Exec格式错误32位可执行Windows子系统Linux?

当我尝试执行gcc -m32 main.c -o mainWindows子系统Linux上编译的32位文件时,我收到以下错误:bash: ./main: cannot execute binary file: Exec format error.

如果我编译它没有 -m32它运行.

在WSL上运行32位可执行文件的任何解决方案?

谢谢.

executable gcc 32-bit executable-format windows-subsystem-for-linux

13
推荐指数
3
解决办法
9118
查看次数

使用32位算术添加64位数

我们如何使用32位算术添加两个64位数?

64-bit 32-bit

12
推荐指数
5
解决办法
2万
查看次数

如何在C#Express中选择32位或64位构建?

我有一个问题,当我尝试建立我的C#快递2008年.我需要构建它的32位架构的解决方案,但它总是建立64位.在Visual Studio 2008中,我可以选择体系结构,但在C#Express中找不到此选项.

有没有办法在C#Express中执行此操作?

c# 64-bit 32-bit visual-c#-express-2010

12
推荐指数
3
解决办法
4万
查看次数

使用Integer.parseInt转换32位二进制字符串失败

为什么这部分代码失败:

Integer.parseInt("11000000000000000000000000000000",2);

Exception in thread "main" java.lang.NumberFormatException: For input string: "11000000000000000000000000000000"
Run Code Online (Sandbox Code Playgroud)

据我所知,Integer是32位值.上面代码中的0和1的数量是32.如果有31个代码可以工作.为什么会这样?

java integer 32-bit parseint numberformatexception

12
推荐指数
1
解决办法
1万
查看次数

32位进程不支持Microsoft SharePoint.请验证您是否在64位可执行文件中运行

我正在64位计算机上为SharePoint 2013编写控制台应用程序.我尝试执行程序时收到此错误:

"32位进程不支持Microsoft SharePoint.请验证您是否在64位可执行文件中运行."

如果您过去遇到过这个问题,请告诉我并提供帮助.谢谢!

sharepoint 64-bit 32-bit 32bit-64bit

12
推荐指数
3
解决办法
2万
查看次数

如何在64位RHEL上编译32位应用程序?

我正在尝试使用gcc 4.8在RHEL 7 64位上编译32位C应用程序.我收到编译器错误/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory.如何编译和链接32位应用程序需要做什么?

x86 gcc 32-bit rhel7

12
推荐指数
1
解决办法
1万
查看次数

为什么 reversed(mylist) 这么慢?

更新:可能只发生在 Windows 的 CPython 3.8 32 位中,所以如果您不能在其他版本中重现它,请不要感到惊讶。请参阅更新部分中的表格。)

双方iterreversed因此在列表专门迭代器:

>>> iter([1, 2, 3])
<list_iterator object at 0x031495C8>

>>> reversed([1, 2, 3])
<list_reverseiterator object at 0x03168310>
Run Code Online (Sandbox Code Playgroud)

reversed一个要慢得多:

> python -m timeit -s "a = list(range(1000))" "list(iter(a))"
50000 loops, best of 5: 5.76 usec per loop

> python -m timeit -s "a = list(range(1000))" "list(reversed(a))"
20000 loops, best of 5: 14.2 usec per loop
Run Code Online (Sandbox Code Playgroud)

而且我可以始终如一地重现它。后来又试了iter五次,分别是5.98、5.84、5.85、5.87、5.86。然后又是reversed五次,分别是 14.3、14.4、14.4、14.5、14.3。

我认为iter增加列表元素的内存位置可能会带来好处,所以我事先尝试反转列表。同一张图:

> python …
Run Code Online (Sandbox Code Playgroud)

python performance 64-bit 32-bit

12
推荐指数
1
解决办法
486
查看次数

将 32 位 directx9 应用程序转换为大地址感知

当内存接近 2GB 时,我们遇到了旧的闭源游戏引擎无法编译着色器的问题。

问题通常与D3DXCreateEffect. 通常它会返回 HResult“内存不足”,有时会d3dx9_25.dll在弹出窗口中打印随机错误,或者它只是完全的段错误。

我相信问题在于缺乏大地址意识:我注意到其中一个d3dx9_25.dll崩溃做了一些暗示这样的事情。它需要一个看起来像 的有效指针0x8xxxxxx3,检查位0x80000003是否点亮,如果是,则位反转指针并取消引用它。结果指针指向未分配的内存。在编译前强制引擎 malloc 2GB 会使着色器每次都无法编译。

不幸的是,我们对 DX9 的了解非常有限,我已经看到 DX9 有一个标志,D3DXCONSTTABLE_LARGEADDRESSAWARE但我不确定它到底应该去哪里。我能找到的游戏使用的唯一 API 调用依赖于它D3DXGetShaderConstantTable,但问题发生在它被调用之前。注射标志(1 << 17) = 0x20000,以D3DXCreateEffect使着色器以另一种方式失败编译。

  1. D3DXCreateEffect应该接受较大的地址标志?我发现了一个使用它的wine 测试,但深入研究 DX9 程序集,它抛出的错误是由内部函数FFFFF800在设置了in 标志中的任何位时返回 HResult Invalid Call 引起的,这让我相信CreateEffect不应该接受这个标志.

  2. 在此之前还有其他地方我应该注入大地址感知标志吗?我知道D3DXGetShaderConstantTable需要修复对使用的调用D3DXGetShaderConstantTableEx,但它甚至还没有达到。

c++ x86 32-bit direct3d directx-9

12
推荐指数
1
解决办法
264
查看次数