0

我在 Visual Studio 2008 上使用 C++。

我在我的应用程序中使用了第 3 方库 (BCG)。我需要更改 BCG 类的成员变量的访问说明符(从受保护到公共)。问题是:仅在包含在我的应用程序中的头文件中更改访问说明符而不重新生成 dll 文件是否安全?有可能做到这一点,而且从表面上看,它似乎工作正常。但是我不确定它是否安全。

我正在尝试从该第三方库中使用的类派生,为了实现我想要的,我需要从另一个类访问受保护的变量。我希望进行破坏性最小的更改(以供将来集成),因此我想避免更改 dll 文件。

4

1 回答 1

1

实例成员访问不涉及链接器中的任何符号修复。相反,成员的身份编译为针对对象指针的偏移量,因此名称修改和其他链接问题不会进入其中。这就是为什么它似乎对你有用。

通常,修改描述由您无法重建的 DLL 发布的类的标头显然是危险的行为,因此请谨慎行事。

于 2013-03-14T20:51:22.053 回答