gpt4 book ai didi

c++ - 如果调用某些函数,我可以强制编译器错误吗?

转载 作者:IT老高 更新时间:2023-10-28 23:15:14 26 4
gpt4 key购买 nike

我的软件有 v1 和 v2 版本。 v1 使用注册表来保存设置,对 GetProfileInt 等进行大量调用。v2 现在使用 sqlite db 来保存设置。

我们目前正在开发这两个分支,并将新功能从 v1 合并到 v2 分支。我们目前必须记住更新任何注册表调用以使用新的配置数据库,这已经错过了几次。

如果在 v2 中使用任何 GetProfile... 或 WriteProfile... 函数,我希望引发编译器错误。

我们在 Visual Studio 2010 中使用 C++。如果没有内置任何内容,我可以使用脚本的输出以某种方式引发编译器错误吗?

最佳答案

既然这个答案被接受了,我不妨包括提问者实际使用的解决方案:

jacobsee 发现了 deprecated pragma

#pragma deprecated(GetProfileInt)

原答案:

您可以使用 __declspec(deprecated) 将它们声明为已弃用。它看起来像这样:

UINT __declspec(deprecated) WINAPI GetProfileInt(
__in LPCTSTR lpAppName,
__in LPCTSTR lpKeyName,
__in INT nDefault
);

您必须从包含在您关心的每个翻译单元中的标题中执行此操作。这样做会在任何时候包含已弃用声明的翻译单元使用该函数时发出警告。

如果您想要编译器错误并且您的项目尚未将警告视为错误,那么您必须打开它,并且可能修复您一直忽略的所有警告。 (无论您是否使用此解决方案,这些都是很好的做法。)

关于c++ - 如果调用某些函数,我可以强制编译器错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10727418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com