2018.3.7号苏嵌学习体验
2018-03-07 23:00
106 查看
今天主要学习了vim,gcc,Makefile,gdb,shell等内容:
1.vim的三个模式:命令行模式;插入模式;底行模式。
在相关模式下的一些命令,如:命令行模式下的shift+G(最后一行);shift+g(第一行);yy复制行等
2.gcc的编译过程:1’预处理:处理所有以#开头的代码,比如头文件处理等
2’编译:语法检查,将C语言翻译成汇编语言
3’汇编:将汇编语言编译成二进制文件
4’链接:把文件和所需的库文件连接起来
以编译a.c文件为例:
预处理 gcc -E a.c -o a.i
编译 gcc -S a.i -o a.s
汇编 gcc -c a.s -o a.o
链接 gcc a.o -o a
ps:linux没有后缀之分
3. gdb:gcc a.c -o a -g对a.c进行调试
常用gdb命令:r 运行程序;l 列出源码;b设置断点;c继续执行;info b 查看断点信息;p查看变量值;q退出gdb调试;
delete b删除断点
next 往下一步运行,但不进入被调函数中
step 往下一步运行,可进入被调函数中
4.Makefile文件:
make是命令,一个文件夹最好只有一个Makefile
格式; target file : dependence file
(加一个TAB键)commod
伪目标 .PHONY
5.shell:命令解析器
vim a.sh
编辑shell时需在首行加入:
# #! /bin/bash
1.vim的三个模式:命令行模式;插入模式;底行模式。
在相关模式下的一些命令,如:命令行模式下的shift+G(最后一行);shift+g(第一行);yy复制行等
2.gcc的编译过程:1’预处理:处理所有以#开头的代码,比如头文件处理等
2’编译:语法检查,将C语言翻译成汇编语言
3’汇编:将汇编语言编译成二进制文件
4’链接:把文件和所需的库文件连接起来
以编译a.c文件为例:
预处理 gcc -E a.c -o a.i
编译 gcc -S a.i -o a.s
汇编 gcc -c a.s -o a.o
链接 gcc a.o -o a
ps:linux没有后缀之分
3. gdb:gcc a.c -o a -g对a.c进行调试
常用gdb命令:r 运行程序;l 列出源码;b设置断点;c继续执行;info b 查看断点信息;p查看变量值;q退出gdb调试;
delete b删除断点
next 往下一步运行,但不进入被调函数中
step 往下一步运行,可进入被调函数中
4.Makefile文件:
make是命令,一个文件夹最好只有一个Makefile
格式; target file : dependence file
(加一个TAB键)commod
伪目标 .PHONY
5.shell:命令解析器
vim a.sh
编辑shell时需在首行加入:
# #! /bin/bash
相关文章推荐
- 提问的力量四:提问的艺术-体验学习中提问的技巧
- mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现
- Tiny6410学习ing—(一)、嵌入式体验入门—(1)、Linux命令详解—①
- 苏嵌学习之线程thread
- 我在苏嵌学习的第一天
- Java学习日记之类和对象初体验
- Android开发学习之路--Notification之初体验
- 【体验课】一、产品经理学习模型
- iOS开发小白学习体验-9
- 一字一句体验语言的魅力-2:80386-datasheet翻译学习-第一章完
- 嵌入式学习笔记100-uboot1.1.6初体验
- Android开发学习之路--异步消息Handler,Message,Looper和AsyncTask之初体验
- Android开发学习之路--Service之初体验
- 【Knockout.js 学习体验之旅】(1)ko初体验
- WPF与用户体验交流学习群
- Android开发学习之路--Annotation注解简化view控件之初体验
- 【Android开发学习31】Gallery之初体验--实现手指直接拖动图片移动
- Nginx模块之Nginx-Ts-Module学习笔记(一)抢险体验
- LibSVM学习(二)——第一次体验libSvm
- Ubuntu 学习路径-1-体验gnome并连接网络