我有一个商业产品,是DLL(本机32位代码),现在需要构建64位版本。所以,当安装在64位Windows上时,32位版本放到Windows\SysWOW64中,而64位版本放到… Windows\System32中!(我在这里咬着我的舌头……)或者DLL可以与客户端应用程序一起安装。
那么,我应该如何命名64位DLL呢?
与32位相同的名称:两个执行相同操作但完全不可互换的文件具有相同的名称,这难道不是引起混淆和支持问题的风险吗?
不同的名称(例如product.dll和product64.dll):现在,客户端应用程序必须知道它们正在运行32位还是64位,才能引用我的DLL,而有些语言直到运行时才能确定- .NET只是一个例子。现在,所有静态编译的客户端都必须有条件地编写导入声明:IF target=WIN64 THEN import Blah from "product64.dll" ELSE import Blah from "product.dll" ENDIF
该产品包含大量的C代码和大块的C++代码-将其移植到C#不是一个选项。
建议? 提示?
那么,我应该如何命名64位DLL呢?
与32位相同的名称:两个执行相同操作但完全不可互换的文件具有相同的名称,这难道不是引起混淆和支持问题的风险吗?
不同的名称(例如product.dll和product64.dll):现在,客户端应用程序必须知道它们正在运行32位还是64位,才能引用我的DLL,而有些语言直到运行时才能确定- .NET只是一个例子。现在,所有静态编译的客户端都必须有条件地编写导入声明:IF target=WIN64 THEN import Blah from "product64.dll" ELSE import Blah from "product.dll" ENDIF
该产品包含大量的C代码和大块的C++代码-将其移植到C#不是一个选项。
建议? 提示?