zoukankan      html  css  js  c++  java
  • 小计C/C++问题(1)

    本文主要记录了以下2个问题:

    1. 表达式中,有符号变量和无符号变量的转化问题
    2. C/C++中,main函数执行完以后,还执行了什么语句?

    这里简单的说一下我的环境:Win7 32位,Qt creator 5.4.1 编译器MinGW4.9.2 32bit 调试器:GNU GDB 7.8


    问题1:表达式中,有符号变量和无符号变量的转化

    关于这个问题,网络上流传着这样一个误导:说是,表达式中存在有符号数和无符号数的时候,无符号数 会转化为 有符号数,然后再计算.而实际,应该是这样的: 当表达式中存在有符号和无符号的数,计算的结果转化为无符号的。况且,你应该还要注意使用的场合。当你的表达式用于比较判断和直接计算输出完全是2个不同的结果,如下:

    001


    问题2:C/C++中,main函数执行完以后,还执行了什么语句?

    关于这个问题,你需要知道一个函数atexit(也就是 at exit,看到这个你应该明白了,在exit退出的时候),关于这个函数,你可以参考百度百科。功能:注册终止函数(即main执行结束后调用的函数)。代码示例:

    005

    这样看,我觉得不可能体会到这个函数,所以我想看一下汇编是怎么运行的,所以如下:

    006

    从汇编看,当执行return 0以后,并没有立刻结束,而是汇编跳转了,然后运行了其他的命令才退出的。可能这个函数本人还没有真正的使用过,不能深刻的理解其含义。如果内容有错,还请指出。


  • 相关阅读:
    json for modern c++(nlohmann json)使用小计
    你到底是如何上网的[转载]
    opencv编译
    二维码解析(编译zxing-cpp)
    otl odbc小计
    解决github clone慢的问题
    网络编程小计
    模板小计
    c++开发遇到的错误和引用配置
    IOCP Input/Output Completion Port IO完成端口
  • 原文地址:https://www.cnblogs.com/zi-xing/p/4542775.html
Copyright © 2011-2022 走看看