zoukankan      html  css  js  c++  java
  • 反汇编:循环语句各个版本对比

    4.6.循环语句各版本对比

    代码及相关分析来自于《加密与解密》

    时间2021年0311

     

    1.do循环

    【示例代码1】

    int _tmain(int argc, _TCHAR* argv[]) {
        int nCount = 0;
        do
        {
            printf("%d
    ", nCount);
            nCount++;
        } while (nCount < argc);
    
        return 0;
    }

    image.png

     

    x64-debug版本:

    image.png

    x64-release版本:


    image.png

     

    x86-debug版本:

    image.png

     

    x86-release版本:


    image.png

     

    2.while循环

    【示例代码2】

    int _tmain(int argc, _TCHAR* argv[]) {
        int nCount = 0;
        while (nCount < argc)
        {
            printf("%d
    ", nCount);
            nCount++;
        }
        return 0;
    }

    分析:

    image.png

     

    x64-debug版本:

    image.png

     

    x64-release版本:

    image.png

     

    x86-debug版本:

    image.png

     

    x86-release版本:

    image.png

    3.for循环

    【示例代码3】

    int _tmain(int argc, _TCHAR* argv[]) {
        for (int nCount = 0; nCount < argc; nCount++)
        {
            printf("%d
    ", nCount);
        }
        return 0;
    }

    分析:

     

    x64-debug版本:

    image.png

     

    x64-release版本:

    image.png

     

    x86-debug版本:(与x64类似,具体看前几张图片)

    image.png

     

    x86-release版本:(与x64类似,具体看前几张图片)

    image.png

     

     

     

  • 相关阅读:
    图象处理算法(一)
    使用自定义类实现工程多语言
    SQL的数据类型
    SQL LEFT JOIN
    TADOCommand
    如何获得活动的数据
    TDateTime
    类定义(一)
    mxOutlookBar组件安装和使用
    TADOQuery
  • 原文地址:https://www.cnblogs.com/Xor0ne/p/14519231.html
Copyright © 2011-2022 走看看