我尝试禁止使用方法,如果某些代码使用它,则会出现编译错误。
这是一个专有的遗留模块,我知道有些方法是有问题的。我们有头文件和 dll。
在我使用的巨大项目中,我无法弄清楚这种方法的所有用途(很多定义,一些隐式转换......)
如果编译器检测到此方法的使用,它可以停止(或只是警告)吗?
我尝试禁止使用方法,如果某些代码使用它,则会出现编译错误。
这是一个专有的遗留模块,我知道有些方法是有问题的。我们有头文件和 dll。
在我使用的巨大项目中,我无法弄清楚这种方法的所有用途(很多定义,一些隐式转换......)
如果编译器检测到此方法的使用,它可以停止(或只是警告)吗?
您可以__declspec(deprecated)
在 Visual C++ 中使用特定函数生成警告。您可以使用#pragma deprecated
来弃用任何符号(包括宏)。
在 MSDN 上查看更多信息。这可能会产生警告或错误(取决于计算机标志),但您可以在需要时使用额外#pragma
的 s来抑制它们
好吧,不确定它是否有效(所以请纠正我),但您可能想尝试从您的 DLL 中制作库
从VS命令提示符开始:
dumpbin /exports yourdll.dll
您将获得导出符号输出并将其复制到 .def 文件中
编辑 .def 文件以删除不需要的符号
制作 lib 并将其链接到您的应用程序
lib /def:C:\mydef.def /OUT:C:\mylib.lib