社区
工具平台和程序库
帖子详情
各位高手快来看看!VC中使用STL,产生大量警告应如何去掉?
lyljp
2003-01-05 11:47:01
1 : #include<iostream>
2 : #include<string
...全文
47
3
打赏
收藏
各位高手快来看看!VC中使用STL,产生大量警告应如何去掉?
1 :#include 2 :#include<string
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lyljp
2003-01-05
打赏
举报
回复
7 : set<string> s;
8 : s.insert("a");
lyljp
2003-01-05
打赏
举报
回复
5 : void main()
6 : {
7 : set<string> s;
lyljp
2003-01-05
打赏
举报
回复
3 : #include<set>
4 : using namespace std;
base64编码解码
VC
\C++代码
base64编码解码
VC
\C++代码
代码语法错误分析工具pclint8.0
代码静态分析工具PC-LINT安装配置 PC-Lint是C/C++软件代码静态分析工具,你可以把它看作是一种更加严格的编译器。它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现的潜在错误。 C语言的灵活性带来了代码效率的提升,但相
应
带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PCLint识别并报告C语言
中
的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,
警告
使用
空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要因素。PClint能够帮你在程序动态测试之前发现编码错误。这样消除错误的成本更低。
使用
PC-Lint在代码走读和单元测试之前进行检查,可以提前发现程序隐藏错误,提高代码质量,节省测试时间。并提供编码规则检查,规范软件人员的编码行为。 由于PC-LINT对于一般程序员来说可能比较陌生,有好多人安装了也不知道怎样配置和
使用
。 下面我就根据自己的安装和配置心得对PC-Lint的安装、配置及
使用
进行下详细说明.本人主要介绍了将PC-Lint集成到
VC
++6.0和SourceInsight的方法和步骤。 (一)Windows下C/C++开发工具
中
,
VC
6
使用
较为普遍,因此这里先讲下
VC
6.0环境
中
集成pclint的步骤. 首先, 当然要下载软件,正版软件要200多$呢,买不起!所以只好网上找免费的拉。从http://www.61ic.com/down/othe/pclint.rar处可以下载到一个8.0版本的pclint. 1.将pclint.rar解压至c:\, 这样lint文件就位与c:\pclint(安装目录)下了。 2.将c:\pclint\lnt 下的3个文件lib-w32.lnt,env-
vc
6.lnt,co-msc60.lnt拷贝至c:\pclint下, 再在安装目录下创建std.lnt和options.lnt两个文件,其
中
std.lnt的内容如下 // contents of std.lnt c:\pclint\co-msc60.lnt c:\pclint\lib-w32.lnt c:\pclint\options.lnt -si4 -sp4 -i"D:\Program Files;D:\Program Files\Microsoft Visual Studio\
VC
98\Include" //end 其
中
-i后面的路径名为
VC
的安装路径和
VC
Include 文件路径,根据自己的修改便可。 options.lnt 内容可为空,为定制内容,以后需要时再添加。 准备工作做完了,下一步就是要将pclint集成到
VC
6
中
去,先配置lint使之能对单个C或C++文件进行检查。 1.打开
VC
6,tools--->customize-->tools 新建一个名为pclint的项,在下面填入 command: C:\pclint\lint-nt.exe arguments: -u c:\pclint\std.lnt c:\pclint\env-
vc
6.lnt "$(FilePath)" Use Output Window 打上勾 close 完成。 这个在你
VC
窗口tools菜单下
应
该多了一个pclint选项,可以用它来运行lint程序,对你的c/c++代码进行静态检查了。 现在就可以用个小程序测试一下pclint了 //test1.cpp #include class X { int *p; public: X() { p = new int[20]; } void init() { memset( p, 20, 'a' ); } ~X() { delete p; } }; 编译这个文件,看下你的编译器给你多少
警告
,再运行下lint, 可以自己对比一下。 我的机器上,
VC
产生
0 errors 0 warnings, 而lint程序
产生
了如下8条
警告
信息,有些还是很有用处的提示,这里就不一一分析了. test.cpp(12): error 783: (Info -- Line does not end with new-line) test.cpp(7): error 1732: (Info -- new in constructor for class 'X' which has no assignment operator) test.cpp(7): error 1733: (Info -- new in constructor for class 'X' which has no copy constru
VC
6下
使用
STL
注意:不要让内存分配失败导致您的旧版
STL
应
用程序崩溃
本文来源于MSDN
中
文站 大多数 C++ 开发人员在他们的代码
中
都广泛
使用
了标准模块库 (
STL
)。如果您是其
中
的一员,并且正在直接
使用
即装即用的
STL
和 Visual C++ 6.0,则在内存不足的条件下,您的
应
用程序就处于崩溃的高度危险的状况下。
产生
此问题的原因是,检查运算符 new 是否失败是一种非常少见的做法。更糟糕的是,当 new 确实失败时,响
应
不是标准的。有些语言编译器返回
[经验总结]如何在
VC
中
去掉
STL
代码编译时编译错误
转自:http://bbs.jlu.edu.cn/cgi-bin/bbscon?board=Algorithm&file=M.1058575913.A&num=1 估计大家编译
STL
的时候看着一堆一堆的无意义的
警告
信息都烦了吧,包含 下面的头文件会让你眼前清静一下的,呵呵,这样的文件,估计在BBS上看 起来会很累,所以我就没有折行,因为那样格式就坏了,更不好看,大家 还...
STL
中
map详解
C++
中
的
STL
中
map用法详解 Map是
STL
的一个关联容器,它提供一对一(其
中
第一个可以称为关键字,每个关键字只能在map
中
出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所...
工具平台和程序库
24,856
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章