正在修改dll-s的标头
Modifying headers for dll-s
我正试图了解是否可以修改预编译DLL的头。我之所以要这样做,是因为我希望能够拥有一个版本的DLL库,但在某些情况下,我还希望能够限制对公开类中某些方法的访问。
我最初的想法是简单地从头中删除这些方法的声明,但在完成之后,我开始得到一些空指针异常。我曾怀疑它可能不起作用,但我现在试图确定的是,这是否就是问题所在。如果是,你能为我想要实现的目标提出一个替代解决方案吗?
非常感谢。
由于没有人对这个问题给出确切的答案,我一直在谷歌上搜索,最终找到了这个帖子:针对修改的头文件进行编译,其基本上描述了相同的问题。最重要的是,在编译库后删除方法声明是一种单向定义规则(ODR)冲突,可能看起来有效,但这只是一种巧合。希望它也能帮助其他人。
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 挂起和取消挂起一个文件DLL
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 导入库可以跨dll版本工作吗
- 从C++dll访问C#中的一行主要参数
- 链接到自行创建的dll失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 独立读取-修改-写入顺序
- 如何在不可修改的源代码中使用 DLL 函数?
- Delphi 2007 EXE和C++DLL:调试输出:027D4FF8处的堆块在027D5009处修改,超过了请求的9
- C 如何使DLL从主线程修改变量
- 如何修改运行时加载DLL的导入地址表
- 从子 DLL 访问/修改变量
- 正在修改dll-s的标头
- 安装程序修改了哪些DLL和注册表项
- 如何在c#代码中修改c++ dll中定义的简单类型变量
- 在ce5上从c#传递结构体并在非托管c++ dll中修改的问题
- c++中未解析的外部函数:Visual c++对方法签名的修改与dll中修改的方法不同
- 是否有用于修改AutoHotkey_L中DLL调用功能的标准协议
- 未修改的DLL速度在加载整个解决方案时变化