我有一个大型代码库,其中使用了一些不安全的函数,例如 gmtime
和 strtok
。我不想尝试搜索代码库并批量替换这些代码,而是想让编译器在看到它们时发出警告或错误(以向维护开发人员突出显示问题)。 GCC 可以吗?
我已经知道 __attribute__((deprecated))
,但我无法使用它,因为我无法控制声明这些函数的头文件。
最佳答案
创建自定义 header deprecated.h
。在那里,创建您自己的包装函数,deprecated_strtok()
等等,它们只会调用 strtok
。用 __attribute__((deprecated))
标记那些。在这些定义下方,#define strtok deprecated_strtok
。最后,使用-include deprecated.h
关于c++ - 在不修改源代码的情况下将库函数标记为已弃用/不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1601261/