VS2005中检测和更正 C/C++ 代码缺陷
VS2005中检测和更正 C/C++ 代码缺陷
2006-11-26 15:55
VS2005中提供的检测方法:
1 IDE(集成开发环境)集成
2 #pragma 支持
3 批注支持
4 作为签入策略的一部分运行分析工具
5 Team System 与 Team Build 的集成
6 命令行支持
一 代码分析工具用于检测常见的编码错误,例如缓冲区溢出、内存未初始化、空指针取消引用,以及内存和资源泄露。
为 C/C++ 代码启用代码分析
在 Visual Studio 中打开一个项目。
在“项目”菜单上单击“属性”。
单击“代码分析”。
在“启用 C/C++ 代码分析”列表中,选择“是(/analyze)”,然后单击“确定”。
禁用 C/C++ 代码分析
在 Visual Studio 中打开一个项目。
在“项目”菜单上单击“属性”。
单击“代码分析”。
在“启用 C/C++ 代码分析”列表中,选择“否”,然后单击“确定”。
二 若要管理警告状态,请在单独的头文件中列出所有代码分析警告。将头文件包括在源文件中。使用 warning pragma 重写头文件中的设置。
启用或禁用代码分析警告
创建一个头文件,其中列出所有代码分析警告和这些警告的初始状态,如下面的代码所示:
// WarningState.h
#pragma warning ( enable : 6001 )
#pragma warning ( disable : 6011 )
// more warnings here
// end of file
将 WarningState.h 包括在应用程序头文件中。在本例中,MyApplication.h 代表头文件。
// MyApplication.h file
#include "WarningState.h"
// ...
// end of file
将 MyApplication.h 文件包括在源代码文件中。在本例中,MyApplication.cpp 代表源文件。
// MyApplication.cpp file
#include "MyApplication.h"
若要修改警告状态,请在 .cpp 文件中使用 pragma 警告说明符,如下面的代码所示:
#pragma warning ( enable : 6011 )
#pragma warning ( disable : 6001 )
三 若要在 C++ 中批注代码,必须首先包括 SourceAnnotations.h 文件,然后使用 vc_attributes 命名空间。(其他的批注属性:http://msdn2.microsoft.com/zh-cn/library/ms182037(VS.80).aspx)
在 C++ 中批注代码
向项目头文件添加 #include <CodeAnalysis/SourceAnnotations.h> 文件。 &nbs
相关文档:
自己写的C/C++编译器Doctors[软件+文档]
http://blog.csdn.net/huyansoft/archive/2009/08/20/4464772.aspx
更新版本1.0.1:该版本解决了之前1.0.0版本中找不到链接库libc.lib的问题,以及IDE下点击Project菜单出现的BUG。下载地址:http://download.csdn.net/source/1597132
Doctors编译器内部实现
For version 1.0.1 ......
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using  ......
根据《programming in lua》第26章的内容,我做出来的如下:
1.
首先,我的Lua目录为:D:\lua5.1\
环境为 windows ; VC++express edition 2008 ; Lua5.1.4 ; Notepad++
当然,你需要在VC++2008中配置好lua:
这里先不多做解释,假设你已经配置好了。
2.
& ......
C/C++基本知识(转载)
0
推荐本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。
许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试 ......