zoukankan      html  css  js  c++  java
  • Objective-C学习准备__C语言6

    本章重点:修饰符,gcc单步调试。

    今天介绍一下C语言的几个修饰符  auto,register,static,extern

    首先看auto:,自动的意思,在函数内部定义的变量成为局部变量。在某些C语言教材中,局部变量称为自动变量,这就与使用可选关键字auto定义局部变量这一作法保持一致。     局部变量仅由其被定义的模块内部的语句所访问。换言之,局部变量在自己的代码模块之外是不可知的。切记:模块以左花括号开始,以右花括号结束。
    对于局部变量,要了解的最重要的东西是:它们仅存在于被定义的当前执行代码块中,即局部变量在进入模块时生成,在退出模块时消亡。
    定义局部变量的最常见的代码块是函数。

    register: CPU有高速缓存即寄存器,速度非常快,但内存非常小,加这个修饰后,这个变量的存放位置就在register高速缓存里。一般用于频繁修改的全局变量~

    static :静态变量,让一个变量长期有效,而不管其是在什么地方被申明。即使是在函数内声明  函数退出后它依然保存  静态变量其实在编译时就已经分配了空间,
    它不存在于堆或栈,也因此数据能一直保留。

    extern:外部的,当你主文件内要使用引入文件的变量是就要做这个声明  表示这个表里是外部引入的  方便排错 也防止文件过多变量名混乱

    接下来学习一下MinGW中gcc的单步调试

    首先gcc -g file生成调试用的可执行文件

    gdb file 进入调试

    break 设置断点

    start  开始运行

    基本gdb命令:
    ---------------------------------------------------------------------
    命令          简写         功能
    ---------------------------------------------------------------------
    file                             装入想要调试的可执行文件.
    kill              k              终止正在调试的程序.
    list              l              列出产生执行文件的源代码的一部分.
    next           n             执行一行源代码但不进入函数内部.
    step           s             执行一行源代码而且进入函数内部.
    continue     c             继续执行程序,直至下一中断或者程序结束。
    run            r             执行当前被调试的程序.
    quit           q             终止 gdb.
    watch                       使你能监视一个变量的值而不管它何时被改变.
    catch                       设置捕捉点.
    thread        t            查看当前运行程序的线程信息.
    break         b            在代码里设置断点, 这将使程序执行到这里时被挂起.
    make                       使你能不退出 gdb 就可以重新产生可执行文件.
    shell                        使你能不离开 gdb 就执行 UNIX shell 命令.
    print          p            打印数据内容。
    examine     x            打印内存内容。
    backtrace   bt           查看函数调用栈的所有信息

  • 相关阅读:
    onclick中的函数的参数this
    classList的使用
    设置点击鼠标时不跳转
    模块补充shutil,logging
    re模块拾遗和递归函数
    正则表达式-re模块
    软件开发规范
    自定义模块2
    常用模块
    初识自定义模块
  • 原文地址:https://www.cnblogs.com/pengser/p/4915762.html
Copyright © 2011-2022 走看看