dll的界面

时间:2011-02-09 13:06:08

标签: dll interface

我听说有人在谈论改变dll的界面。 dll的界面有什么变化,你会怎么做?

1 个答案:

答案 0 :(得分:3)

更改dll的界面意味着更改dll和调用代码的交互方式。这可能意味着更改dll导出函数的签名,或者完全更改为不同的函数集,或者可能意味着从调用代码传递不同的数据。 dll的界面通常是导出和导入的所有项目(包括函数和数据),换句话说,就是您在使用它时可以访问的dll部分。

通常,您需要在不更改其界面的情况下更改dll的行为。这是因为更改界面通常会破坏使用它的代码。

想象一下我的dll导出函数foo

void foo(int i)
{
   // Does thing with integer
}  

更改界面可能意味着将foo的签名更改为

void foo(int, float);

现在,所有使用foo的代码都必须重写以使用新签名,这可能是一件坏事。