我的c++程序中有一个dll,我想自己重写并替换掉它。
我要替换的 dll 有 3 个类。我想用我的新 dll 逐一替换每个类,但我不想更改任何其他代码。
为此,我打算在新 dll 中使用与旧 dll 中相同的类名。
但是我想替换一个类,运行我的程序然后替换下一个类等,这样我就不必一次尝试更改所有内容以确保一切正常。
有没有办法做到这一点?我假设如果两个 dll 都包含在内,命名空间将发生冲突
最佳答案
我不确定您正在尝试做什么,但像 Neil 指出的那样的东西可能效果很好。使用不同的命名空间名称可能会奏效,然后在您准备好删除旧命名空间时将较新的命名空间重命名为生产名称。
链接时,可以指定多个lib文件。我知道 lib 文件的顺序可以确定使用哪个。我忘记了它是否可以用于此目的,但也许您可以指定具有相同类和函数的多个 lib 文件,链接器将使用 DLL 作为它为该类找到的第一个 lib 文件。我忘记了它是如何工作的细节。
关于c++ - 用冲突的命名空间替换 C++ 中的 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27029953/