使用Warning Level 4洁净编译应用程序

    

     VC开发环境使用Warning level控制警告信息,在VC环境的Project/Setting/C/C++中设置。其中Level 4是最严格的检查级别,Warnings as errors将警告信息当作错误处理。在编译时如果有warning信息输出,则不会影响应用程序的生成,如果有error信息输

出则不能生成应用程序。产生warning的语句大多时候不会影响程序的正确执行,但有时候warning语句隐含着错误。将Warning level

设置为Level 4可以借助编译器对代码进行检查,发现错误的语句或不良风格的语句。
  如:对BOOL 变量bEdit,有如下语句:
  if (bEdit = FALSE)
  {
   ......
  }
  因为漏写等号使得判断语句成为先赋值后判断的语句,从语法上没有任何错误,在使用warning level 3编译时不会产生警告信息,如果使用warning level 4编译将会输出警告信息: warning C4706: assignment within conditional expression,查看警告信息所对应的语句就可以很容易的发现错误。但并不是所有在if语句中的赋值都是错误,如对指针变量赋值后判断的语句:
  if(m_rMaster.m_pCtrl = m_pNext)
  {
   ......
  }
  是先将指针变量赋值,然后判断该指针是否有效,在这里就不是错误,但属于一种不良风格的代码,如果没有上下文代码,别人无法知道这句代码正确与否,因此应避免出现类似的代码。如果希望编译器将warning C4706当作错误信息,也可以在程序开始加上 #pragma warning( error : 4706) ,这样VC把C4706看作错误而不是警告。
   另外使用浮点数时会经常出现一些警告信息,查看这些警告信息也可能会发现一些逻辑错误,比如隐含的类型转换产生的错误等。可以使用float(iInt)将一个整数显式转换为float,不会出现警告,赋值时可以使用:"float f = 1.0f;"的方式避免可能出现的警告信息。
   在使用Level 4编译stdafx.cpp文件时,根据stdafx.h包含的文件不同可能产生大量的warning信息,而这些警告信息大多是由VC开发环境所带的头文件所产生。可以Project Settings中设置对stdafx.cpp使用Level 3编译。
   查看并解决每一个警告和错误信息,使工程编译时达到或者接近零警告零错误的洁净编译,可以花费少的代价尽早发现一些Bug。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 .NET 6 控制台程序中使用 log4net,你需要按照以下步骤操作: 1. 在你的 .NET 6 控制台项目中添加对 log4net 包的引用。你可以使用 NuGet 包管理器或手动下载并添加引用。 2. 在你的项目中添加一个 log4net 配置文件,通常命名为 log4net.config。在这个配置文件中,你可以定义日志记录器的格式、输出目标等信息。以下是一个简单的配置文件示例: ``` <?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="ConsoleAppender" /> </root> </log4net> ``` 3. 在你的代码中引用 log4net,并在需要记录日志的地方创建一个日志记录器。例如: ``` using log4net; private static readonly ILog log = LogManager.GetLogger(typeof(Program)); static void Main(string[] args) { log.Debug("Debug message"); log.Info("Info message"); log.Warn("Warning message"); log.Error("Error message"); log.Fatal("Fatal message"); } ``` 这些日志级别按照严重程度递增,从 Debug 到 Fatal。你可以根据需要选择使用哪个级别。 4. 在你的代码中,需要在启动时配置 log4net。在 Main 方法中添加以下代码: ``` using log4net.Config; static void Main(string[] args) { XmlConfigurator.Configure(); // ... } ``` 这会告诉 log4net 使用你在配置文件中定义的配置。 希望这些步骤对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值