|
|
1
1
它“不应该”起作用,但你永远不知道自己的运气。
因为超载,
但是
,这些是虚拟调用,您有三个函数以相同的顺序替换为它们的等价函数。我不知道MSVC vtable方案的任何细节,特别是偏移量是静态确定的还是动态绑定的。如果是前者,则exe可以绑定到新vtable。函数指针可能正好起作用,因为调用约定不依赖于cv限定(即
即使它确实有效,我也不想依赖它,除非它是微软专门解决和保证的事情。 |
|
|
2
3
您的exe可以更改函数的结果,因为它是
|
|
|
3
0
因为你改变了你的界面,你必须重新编译(我想) |
|
|
4
0
可能不行。尽管最容易确定的方法是试试看 |
|
|
5
0
我觉得这样不行。更改dll的接口通常需要重新编译链接到它的可执行文件。 此外,您可能需要更改可执行文件中的代码,因为您已经更改了函数签名。 最后,如果要更新/附加接口,最好对原始接口进行子类化。这将防止任何现有代码被破坏。 |
|
|
Guilherme Albertini · DLL中的类 7 年前 |
|
|
Naomi · C#dll资源文件更改语言 8 年前 |
|
|
AidanH · C#DLL语言翻译实现[关闭] 8 年前 |
|
|
subham · DLL函数调用不工作 8 年前 |
|
|
PixelThis · 为什么我的DLL要求我的程序有一个特定的名称? 8 年前 |
|
|
nemo · DLL的“好”调用约定是什么? 8 年前 |