1

我尝试禁止使用方法,如果某些代码使用它,则会出现编译错误。

这是一个专有的遗留模块,我知道有些方法是有问题的。我们有头文件和 dll。

在我使用的巨大项目中,我无法弄清楚这种方法的所有用途(很多定义,一些隐式转换......)

如果编译器检测到此方法的使用,它可以停止(或只是警告)吗?

4

2 回答 2

1

您可以__declspec(deprecated)在 Visual C++ 中使用特定函数生成警告。您可以使用#pragma deprecated来弃用任何符号(包括宏)。

在 MSDN 上查看更多信息。这可能会产生警告或错误(取决于计算机标志),但您可以在需要时使用额外#pragma的 s来抑制它们

于 2015-05-29T15:17:43.780 回答
0

好吧,不确定它是否有效(所以请纠正我),但您可能想尝试从您的 DLL 中制作库

从VS命令提示符开始:

dumpbin /exports yourdll.dll

您将获得导出符号输出并将其复制到 .def 文件中

编辑 .def 文件以删除不需要的符号

制作 lib 并将其链接到您的应用程序

lib /def:C:\mydef.def /OUT:C:\mylib.lib
于 2015-05-29T16:22:50.913 回答