C语言编译器浅析

ARM 154浏览
编译器的重新解读
1、程序在芯片上运行
2、芯片会有自己的语言(机器语言)
3、人类操作芯片,同时人类也有自己的语言(高级语言)
4、高级语言--编译器--机器语言
5、操作系统一样芯片不一样
   C高级语言--intel(linux)编译器--intel机器语言
   C高级语言--ARM(linux)编译器--ARM机器语言
   芯片一样操作系统不一样
   C高级语言--intel(linux)编译器--intel机器语言
   C高级语言--intel(windows)编译器--intel机器语言

GNU
1、GNU NOT UNIX
2、开源(免费)

什么是好程序员?
1、基本功扎实
2、编的程序简单易懂(一、流程,二、注释)

(IDE集成开发环境)和(gcc、gdb、make和vim)区别?
那个好?
IDE好,linux为什么分开?
内核不能用IDE编译

gdb
1、找程序的问题
2、查看程序的执行流程
3、gdb是一个可执行程序
4、gdb这个可执行程序可以去调试另一个可执行程序
5、思考:gbd怎么实现的调试?借助于我们程序中加的调试信息
6、编译时加-g选项,就可以加上调试信息
7、可执行文件只有在运行时才能进行调试(在线调试)

gdb命令
list:查看程序源码,每次显示10行
help:帮助信息
breakpoint 行号:设置断点
information breakpoint:查看断点信息
run:运行程序
next:单步调试(不进入函数)
step:单步调试(进入函数)
continue:使运行到断点的程序继续运行,直到程序结束或者直到下一个断点

运行到18行时,我是否可以查看a、b中有什么值?