在Windows 7 64bit下,System32的* 32.dll是64位库(根据Dependency Walker - depends.exe x64)。我注意到一个奇怪的问题是,在MSYS Shell中执行 - 例如 - cp /c/System32/ws2_32.dll /c/mingw64/some/lib/libws2_32.dll
正在破坏/转换DLL到32位文件(仍然依赖于Dependency Walker)...在通过Windows资源管理器复制/重命名时保留它不变......还是很奇怪。如果有人有解释......
或者我错过了cp
命令用法......
注意:我已经尝试了--preserve=all
或--symbolic-link
等选项。
感谢。
答案 0 :(得分:1)
cp
以某种方式(直接或由于您正在运行它的父进程)作为32位进程运行。 File System redirection正在进行中,您实际上正在从ws2_32.dll
目录复制C:\Windows\SysWOW64
- 它已作为32位DLL存在。
32位应用程序可以通过将%windir%\ Sysnative替换为%windir%\ System32来访问本机系统目录。 WOW64将Sysnative识别为一个特殊别名,用于指示文件系统不应重定向访问。