0

在 Windows 7 64 位下,来自 System32 的 *32.dll 是 64 位库(根据 Dependency Walker - depends.exe x64)。我注意到一个奇怪的问题是,例如cp /c/System32/ws2_32.dll /c/mingw64/some/lib/libws2_32.dll,在 MSYS Shell 中做的事情是将 DLL 破坏/转换为 32 位文件(仍然根据 Dependency Walker)......通过 Windows 资源管理器复制/重命名它时保持不变......仍然诡异的。如果有人有解释...

还是我错过了有关cp命令用法的一些内容...

注意:我已经尝试过类似--preserve=allor的选项--symbolic-link

谢谢。

4

1 回答 1

1

cp以某种方式(直接或由于您从中运行它的父进程)作为 32 位进程运行。文件系统重定向正在启动,您实际上是ws2_32.dllC:\Windows\SysWOW64目录复制 - 它已经作为 32 位 DLL 存在。

32 位应用程序可以通过将 %windir%\Sysnative 替换为 %windir%\System32 来访问本机系统目录。WOW64 将 Sysnative 识别为用于指示文件系统不应重定向访问的特殊别名。

于 2013-11-25T09:25:02.750 回答