jac*_*see 12 c++ compiler-errors visual-studio-2010 compiler-warnings visual-c++
我有我的软件的v1和v2版本.v1使用注册表来保存设置,大量调用GetProfileInt等.v2现在使用sqlite db来保存设置.
我们目前正在开发这两个分支,并且正在将v1的新功能合并到v2分支.我们当前必须记住更新任何注册表调用以使用新的配置数据库,这已经错过了几次.
我想要的是在v2中使用任何GetProfile ...或WriteProfile ...函数时抛出编译器错误.
我们在Visual Studio 2010中使用C++.如果没有内置的东西,我可以使用脚本的输出以某种方式抛出编译器错误吗?
bam*_*s53 12
由于这个答案被接受,我不妨包括提问者实际使用的解决方案:
雅各布发现了被弃用的pragma
#pragma deprecated(GetProfileInt)
Run Code Online (Sandbox Code Playgroud)
您可以使用将其声明为已弃用__declspec(deprecated)
.它看起来像这样:
UINT __declspec(deprecated) WINAPI GetProfileInt(
__in LPCTSTR lpAppName,
__in LPCTSTR lpKeyName,
__in INT nDefault
);
Run Code Online (Sandbox Code Playgroud)
您必须从您关注的每个翻译单元中包含的标题中执行此操作.只要包含已弃用声明的翻译单元使用该功能,这样做会导致警告.
如果您想要编译器错误,并且您的项目尚未将警告视为错误,那么您必须打开它,并且可能修复您忽略的所有警告.(无论您是否使用此解决方案,这些都是很好的做法.)