问题标签 [win64]

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

windows-7 - Win 7 x64 上奇怪的 P/Invoke 问题

CreateRectRgn在 gdi32.dll 中 P/Invoking to。此函数的正常 P/Invoke 签名是:

作为捷径,我还定义了这个重载:

(是的,我知道,但由于我必须使用函数在和这个结构CreateRectRgnIndirect之间进行转换,所以上面对我更有用,因为它不涉及中间变量。)System.Drawing.RectangleRECT

这个重载应该与正常签名一样工作,因为它应该在入口处将堆栈置于相同的状态CreateRectRgn。事实上,在 32 位的 Windows XP 上,它可以完美运行。但在 Windows 7 64 位上,该函数返回 0,并Marshal.GetLastWin32Error()返回 87,即“参数不正确”。

关于可能是什么问题的任何想法?

0 投票
1 回答
1764 浏览

asp.net - 从 Asp.Net 应用程序加载第三方 dll 时出错

情况很复杂(我的英语很基础),但让我们试着解释一下:

我正在开发一个从外部 dll 调用方法的 Asp.net Web 服务。

这个外部 dll 从其他 .net dll 调用一些方法。

所以我们有:

您必须知道外部 dll 使用路径(由初始化方法给出)来解析其内部引用。

总之,我有一个 Web 应用程序,其中添加了对我的 External.dll 的引用和一个完全受信任的路径 (c:\EXTERNAL),其中包含 external.dll 所需的所有 .net dll。

环顾四周,我发现要添加到 application_START 的代码:

这会将我的 c:\EXTERNAL 添加到全局环境 PATH。

通过从 Visual Studio 开发服务器运行此配置,我没有收到任何错误,并且一切正常。

当我在本地 IIS 服务器上发布应用程序时,它会出现各种错误:起初结果类似于:

为了解决这个问题,我尝试将所需的 .net dll 添加到 wwwroot 中我的应用程序的 /bin 中,但结果类似于:

这次看起来它正在加载相同的 dll,但来自不同的位置导致冲突。

现在就是这样。我很难解释这个 dll 地狱,但基本上我想复制当应用程序在 Visual Studio 开发服务器中运行良好时发生的事情。我还读到 IIS 在不重新启动的情况下无法解析添加的 PATH,因此我尝试手动将 c:\external 添加到 PATH 并重新启动,但出现相同的错误。

感谢您的阅读,我希望有人可以提供帮助。

(抱歉语法或拼写错误!(我是意大利人..))

尼古拉

0 投票
2 回答
1393 浏览

python - cython setup.py 给出 .o 而不是 .dll

我是 cython 的新手,如果我在这里遗漏了一些明显的东西,请原谅我。我正在尝试构建 c 扩展以在 python 中使用以增强性能。我有具有一堆功能的 fc.py 模块,并尝试使用 dsutils 通过 cython 生成 .dll 并在 win64 上运行:

c:\python26\python c:\cythontest\setup.py build_ext --inplace

我在 C:\Python26\Lib\distutils 中有 dsutils.cfg。根据需要, disutils.cfg 具有以下配置设置:

我的 startup.py 看起来像这样:

这是命令行输出的样子:

我有用于目标/主机 amdwin64 类型构建的最新版本 mingw。我有最新版本的 cython for python26 for win64。Cython 确实给了我一个没有错误的 fc.c,只有一些类型转换的警告,一旦我做对了,我会处理的。此外,它生成 fc.def 和 fc.o 文件,而不是提供 .dll。我没有错误。我在线程上发现它会根据需要自动创建 .so 或 .dll,但这种情况没有发生。

0 投票
2 回答
21001 浏览

hta - 执行 32 位和 64 位 mshta.exe(绕过默认处理程序)

我希望能够在 mshta.exe 的 32 位和 64 位版本中启动 page.hta。

创建文件 c:\page.hta

现在这里是尝试以不同方式加载页面的批处理文件。

另一个有趣的事情是,尝试将 .hta 文件的默认处理程序更改为记事本。如果您执行前面的命令,它会启动记事本。似乎 mshta 具有一些仅通过默认处理程序启动 .hta 的逻辑。

使用指定为默认处理程序的任何命令。

0 投票
1 回答
705 浏览

c# - .net Web 应用程序在 64 位 Windows / iis 7.5 上运行缓慢

我有一个用 asp.net 3.5 / sql server 2005 编写的 Web 应用程序,它在我的本地计算机 (winXP) 和测试服务器 (win2003) 上运行得非常快,但是在运行 win2008 的生产服务器上时,有些页面运行速度非常慢r2。该网络应用程序未编译,但确实使用了两个 32 位 dll(intelligencia urlrewriter 和活动监视器 api)。我已将 iis7.5 配置为为应用程序池启用 32 位应用程序,但这并没有什么不同。此外,与加载正常的任何其他页面相比,有问题的页面不使用提到的 dll。有问题的页面确实做了非常繁重的数据库工作,所以我想这可能与生产服务器运行 32 位 sql 的事实有关!?!

有没有人经历过这些症状,或者任何人都可以就我如何解决这个问题提供一些建议?

干杯

蒂姆

0 投票
1 回答
247 浏览

c# - 如何以编程方式控制多显示器设置?

我使用笔记本电脑+宽屏显示器作为双屏设置。有一半的时间在我独立工作后重新连接笔记本电脑时,双屏设置会自动切换到“单屏”,我必须去切换回来。

我怎样才能以编程方式做到这一点?

0 投票
2 回答
351 浏览

assembly - 在 Win64 ABI 中,保留的参数堆栈空间可以用于通用存储吗?

我正在 Windows 上学习 x64 程序集以获得“乐趣”。Windows 上 x64 调用约定的MSDN 文档说:

调用者负责为被调用者分配参数空间,并且必须始终为 4 个寄存器参数分配足够的空间,即使被调用者没有那么多参数。这有助于简化支持 C 非原型函数和可变参数 C/C++ 函数。

由于我的函数不是 C 非原型函数或可变参数 C/C++ 函数,这是否意味着我总是可以使用[rsp+8]to [rsp+32](假设调用后立即未修改的值rsp)在我的函数中进行通用存储,例如局部变量?

0 投票
2 回答
4494 浏览

assembly - 少于四个参数的函数是否需要保留堆栈空间?

刚开始学习 x64 汇编,我有一个关于函数、参数和堆栈的问题。据我了解,函数中的前四个参数被传递给 Windows 中的 rcx、rdx、r8 和 r9 寄存器(以及用于浮点数的 xmm0-xmm3)。所以一个有四个参数的简单的加法函数看起来像这样:

但是,我遇到了提到这一点的文档

每个函数至少必须在堆栈上保留 32 个字节(四个 64 位值)。这个空间允许传递给函数的寄存器很容易被复制到一个众所周知的堆栈位置。被调用函数不需要将输入寄存器参数溢出到堆栈,但堆栈空间保留确保它可以在需要时进行。

那么,即使我正在制作的函数采用四个或更少的参数,我是否必须保留堆栈空间,或者这只是一个建议?

0 投票
2 回答
4218 浏览

python - 使用 cygwin、dlltool 构建 64 位 libpython27.a

我正在尝试使用 cygwin 在 64 位 Win7 机器上构建 python 扩展 DLL(因为 cygwin 仅作为 32 位进程运行,这实际上是交叉编译)。

我使用 dlltool 从 python27.dll 自己创建了 libpython27.a (如解释,例如,here),但是在链接器阶段构建失败说
skipping incompatible c:\Python27\libs/libpython27.a when searching for -lpython27
这正是这里报告的错误(那个家伙最终转移到 MSVC 编译器.. .)。

更多信息:
- 活动 Python 2.7.2、win64、x64
- 最新版本的 cygwin,使用 /usr/bin/x86_64-w64-mingw32-g++.exe 编译器

有谁知道这是否支持?
有没有办法使用我在这里想念的 dlltool?

(我确实在这里找到了使用指南,
dlltool --as-flags=--64 -m i386:x86-64 -k -l libpython27.a -d python.def
但是这样做时我"invalid bfd target"从 dlltool 得到错误)

谢谢!

更新:我相信它可以做到,因为Enthought python包含这样一个文件。我想为不包含它的更常见的发行版创建一个。

0 投票
4 回答
10723 浏览

python - Windows 7 x64 上的 PyPy?

我正在尝试在 Windows 7 x64 机器上使用 PyPy,但没有找到任何方法。显然有一个 win32 二进制文件,但没有 x64 二进制文件或安装指南。我目前在 win32 上使用 Python 2.7.2 win64(Python 2.7.2(默认,2011 年 6 月 12 日,14:24:46)[MSC v.1500 64 位(AMD64)])。

从源安装引发以下错误:

[translation:ERROR] WindowsError: [Error 193] %1 不是有效的 Win32 应用程序

有没有人有在 win64 上使用 PyPy 的指南/提示?还是只是不可能?