Stroustrup 去年发表了关于他的 GSL(Guideline Support Library)的演讲。Micosoft 在https://github.com/Microsoft/GSL有一个实现。我的印象是 GSL 应该就糟糕的编码风格提出建议,并提出改进建议。
为此,我安装了 MSFT 的 GSL 并创建了一个 C++ 文件:
#include <stdio.h>
#include <gsl.h>
int main()
{
int *i = new int;
puts("hello world");
}
并使用 Makefile 构建它:
msft : msft.cc
g++ -std=gnu++14 -I ../../src/GSL/include $^ -o $@
.PHONY : clean
clean :
rm -f msft
显然,代码中存在由“new”引起的资源泄漏。
所以现在我很困惑。
- GSL 应该实际“做什么”?
- 我在哪里可以获得警告准则不合规的源代码检查器?Stroustrup 似乎暗示它实际上是作为一种工具存在的,但事实是这样吗?