美文网首页
二十. 一些探究

二十. 一些探究

作者: mkb2 | 来源:发表于2017-05-21 18:48 被阅读26次

全局变量:放在了数据段,大家都能用
局部变量:放到了栈中,给专门函数使用的

例子 汇编获取全局变量和局部变量的区别 解释为啥要这样改

在编译之后,全局变量的偏移量基本确定了,就是0x22b2在同一个编译器上内存位置基本相同,这个值不变;rip会改变在内存中

a,b 改变的就是你的程序在整个内存中的位置,但是a这个偏移相对于于程序不变 无论是8086,还是64位,都是一定的,编译之后,地址相同

但是局部变量地址有可能改变,不是一定不变的,因为多个不同函数调用test(),不同函数,一定对应不同的内存地址,虽然sum函数是对应这个test,相对地址不变,但是他们的真实地址还是改变的;


以下都是Xcode的内容,和8086基本相同

字符串地址也是不定的,是确定的,和常量相同;

xcode优化选项 在实际开发中,这些没有用到的变量,编译器并没有给他分配空间

为什么说switch比if效率高?
如果switch的比较情况比较多,他会自动的有一套算法,然后一下子直接找到位置,异步到位,而if,就会一个一个比较,所以比较慢

switch内部有算法优化,一部找到了结果,不会一一比较

看到反汇编就可以了!!!

相关文章

  • 二十. 一些探究

    全局变量:放在了数据段,大家都能用局部变量:放到了栈中,给专门函数使用的 在编译之后,全局变量的偏移量基本确定了,...

  • iOS H5容器的一些探究:UIWebView和WKWebVie

    iOS H5容器的一些探究:UIWebView和WKWebView的比较和选择 iOS H5容器的一些探究:UIW...

  • 豫章终结者——江西卷高考作文2014

    江西卷:课内外学习探究 有些人在学习中认为探究是一种乐趣,有些人认为探究是一种重要的学习形式,还有一些人认为探究流...

  • (小仙版)三生三世枕上书同人续写(二十)

    (二十)一探究竟 (坐着的话:虽然题目是一探究竟,但今天实在探不出什么究竟来了,好累,没断更已是最大的努力了。) ...

  • Javafx底层原理探索过程

    经常用一些图形界面久了,难免会去思考这些框架的底层原理。在探究这些底层原理的时候,记录一些探究的过程! 使用的框架...

  • 研究

    (中国人在国外生活二十年后重拾汉语)探究汉语遗忘规律

  • YYKit源码探究(二十) —— UIScrollView分类(

    版本记录 前言 iOS圈内有几个人大家基本都知道,比如说王巍、唐巧,还有YYKit框架的作者现任职于滴滴的郭曜源 ...

  • 初恋(二十一)深入探究

    初恋(二十)解除警报 这顿饭真是吃得又香又饱,王煜博特别感激师哥,一家难得能这么轻松愉快地吃顿饭。平时上学都在学校...

  • 见证:南阳楼市二十年

    见证:南阳楼市二十年 作为地产人,从来没有停止过探究的脚步! “南阳楼市二十年”主题沙龙活动,为南阳地产人,提供了...

  • 三十岁之后的每日自省-15

    4-21、22的和二十四节气小组的探究之行: 用春雨妈妈的话,一次说走就走的外出探究:周五决定,周六考完一天KET...

网友评论

      本文标题:二十. 一些探究

      本文链接:https://www.haomeiwen.com/subject/adlvxxtx.html