zoukankan      html  css  js  c++  java
  • VS2010 自动跳过代码现象

    今日,发现在Release的调试模式下,VS2010会“莫名其妙”的跳过一些代码不执行.

    经实验,初步判断可能的原因:预处理器指令或编译器/连接器优化。

    20150703更新:

    部分代码:

      m_pTameAtomicClock = new TAC::CTameAtomicClock;
      CString TameAtomicClockPath = GetCurDir() + "TAC";
      int ErrorCode = m_pTameAtomicClock->InitDocile(Port, TameAtomicClockPath);
        if (!(0 == ErrorCode))//if内条件不执行
        {
          return ErrorCode;//直接执行这一步
        }

      经实验判断,或许是因为名字空间的问题(不确定),编译器把关于变量ErrorCode直接相关的代码都优化掉了。

      在ErrorCode前加volatile 关键字就好了(难道编译器认为这个变量不会被本程序改变?)。

      具体本质原因,还需要资料支撑,正在寻找中。

    ——ZXF_2015-07-02 10:59:04

  • 相关阅读:
    RramSim2
    DiskSim
    FTL2
    Durable NAND flash memory management
    node系列:全局与本地
    CSS系列:less备忘
    Sql Server 2008:调试
    JavaScript系列:再巩固-原型链
    移动端 :meta标签1万个作用
    Asp.Net:Repeater 详情 备用
  • 原文地址:https://www.cnblogs.com/weiweisuhe/p/4582425.html
Copyright © 2011-2022 走看看