我有一个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?
只是想知道C++应用程序使用的最大内存是否有限制
我知道这是2GB - 这是正确的吗?
如果一个C++应用程序尝试请求超过2GB内存,这会导致内存崩溃吗?
最后的问题 - 如果运行C++应用程序的机器已经内存不足而且C++应用程序要求100MB的阵列(即连续的内存),操作系统是否会通过虚拟内存来适应这种情况?
当我尝试执行gcc -m32 main.c -o main在Windows子系统Linux上编译的32位文件时,我收到以下错误:bash: ./main: cannot execute binary file: Exec format error.
如果我编译它没有 -m32它运行.
在WSL上运行32位可执行文件的任何解决方案?
谢谢.
executable gcc 32-bit executable-format windows-subsystem-for-linux
我有一个问题,当我尝试建立我的C#快递2008年.我需要构建它的32位架构的解决方案,但它总是建立64位.在Visual Studio 2008中,我可以选择体系结构,但在C#Express中找不到此选项.
有没有办法在C#Express中执行此操作?
为什么这部分代码失败:
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个代码可以工作.为什么会这样?
我正在64位计算机上为SharePoint 2013编写控制台应用程序.我尝试执行程序时收到此错误:
"32位进程不支持Microsoft SharePoint.请验证您是否在64位可执行文件中运行."
如果您过去遇到过这个问题,请告诉我并提供帮助.谢谢!
我正在尝试使用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位应用程序需要做什么?
(更新:可能只发生在 Windows 的 CPython 3.8 32 位中,所以如果您不能在其他版本中重现它,请不要感到惊讶。请参阅更新部分中的表格。)
双方iter并reversed因此在列表专门迭代器:
>>> 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) 当内存接近 2GB 时,我们遇到了旧的闭源游戏引擎无法编译着色器的问题。
问题通常与D3DXCreateEffect. 通常它会返回 HResult“内存不足”,有时会d3dx9_25.dll在弹出窗口中打印随机错误,或者它只是完全的段错误。
我相信问题在于缺乏大地址意识:我注意到其中一个d3dx9_25.dll崩溃做了一些暗示这样的事情。它需要一个看起来像 的有效指针0x8xxxxxx3,检查位0x80000003是否点亮,如果是,则位反转指针并取消引用它。结果指针指向未分配的内存。在编译前强制引擎 malloc 2GB 会使着色器每次都无法编译。
不幸的是,我们对 DX9 的了解非常有限,我已经看到 DX9 有一个标志,D3DXCONSTTABLE_LARGEADDRESSAWARE但我不确定它到底应该去哪里。我能找到的游戏使用的唯一 API 调用依赖于它D3DXGetShaderConstantTable,但问题发生在它被调用之前。注射标志(1 << 17) = 0x20000,以D3DXCreateEffect使着色器以另一种方式失败编译。
是D3DXCreateEffect应该接受较大的地址标志?我发现了一个使用它的wine 测试,但深入研究 DX9 程序集,它抛出的错误是由内部函数FFFFF800在设置了in 标志中的任何位时返回 HResult Invalid Call 引起的,这让我相信CreateEffect不应该接受这个标志.
在此之前还有其他地方我应该注入大地址感知标志吗?我知道D3DXGetShaderConstantTable需要修复对使用的调用D3DXGetShaderConstantTableEx,但它甚至还没有达到。
32-bit ×10
64-bit ×5
c++ ×2
gcc ×2
x86 ×2
32bit-64bit ×1
c# ×1
direct3d ×1
directx-9 ×1
executable ×1
integer ×1
java ×1
memory-limit ×1
parseint ×1
performance ×1
python ×1
registry ×1
rhel7 ×1
sharepoint ×1
windows ×1
windows-subsystem-for-linux ×1
wow64 ×1