第二周学习记录
2015-09-25 17:39
190 查看
上周失败的学习导致在测试中获得了2分的高分,所以本周需要做出一些改动
3.进入插入模式
4.命令行模式下保存文档
从普通模式输入
以下为其它几种退出方式:
练习截图:
一:
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150922171116225-1282657299.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150922171146147-461406600.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150922171231600-1547322019.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150922171249865-1721661006.png)
二:使用vim 输入以下代码,联系使用“K”查找帮助文档:
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925233034834-329423552.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925232953475-1733113627.png)
自己对于K的用法还是很不熟悉。
三:练习gcc编译运行代码
gcc分为4个步骤: 预处理:
gcc -E hello.c -o hello.i
编译:
gcc -S hello.i -o hello.s
汇编:
gcc -c hello.s -o hello.o
链接:
一:静态链接
ar rcsv lipow.a unsgn_pow.o
gcc -o pow_test.c -L.-lpow
./pow_test 2 10
二:动态链接
gcc -fPIC -Wall -c unsgn_pow.c
gcc -shared -o libpow.so unsgn_pow.o
gcc -o pow_test pow_test.c -L. -lpow
经过反复的查找自己的错误,不断地改正,终于用gcc成功编译
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925231901069-358290750.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925231921084-783717956.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925231958850-930856995.png)
四:练习gdb调试代码
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925234220162-722929360.png)
:edit $VIM/_vimrc(MS-windows系统命令)
预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp(E-i)
编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl(S-s)
汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as(C-o)
链 接:gcc hello.o –o hello ;gcc -o 调用ld
b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
run 开始运行程序
bt 打印函数调用堆栈
p 查看变量值
c 从当前断点继续运行到下一个断点
n 单步运行
s 单步运行
quit 退出GDB
display 跟踪变量值的改变
until 跳出循环
finish 跳出函数
help 帮助
1. 熟悉Linux系统下的开发环境
2. 熟悉vi的基本操作
3. 熟悉gcc编译器的基本原理
4. 熟练使用gcc编译器的常用选项
5 .熟练使用gdb调试技术
6. 熟悉makefile基本原理及语法规范
7. 掌握静态库和动态库的生成
一:Vim1.使用vim命令进入vim界面
$ vim practice_1.txt 或 $ vim
2.游标移动
按键 | 说明 |
---|---|
h | 左 |
l | 右(小写L) |
j | 下 |
k | 上 |
w | 移动到下一个单词 |
b | 移动到上一个单词 |
命令 | 说明 |
---|---|
i | 在当前光标处进行编辑 |
I | 在行首插入 |
A | 在行末插入 |
a | 在光标后插入编辑 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 |
从普通模式输入
:进入命令行模式,输入
w回车,保存文档。输入
:w 文件名可以将文档另存为其他文件名或存到其它路径下
5.退出vim
1.命令行模式下退出vim
从普通模式输入:进入命令行模式,输入
wq回车,保存并退出编辑
以下为其它几种退出方式:
命令 | 说明 |
---|---|
:q! | 强制退出,不保存 |
:q | 退出 |
:wq! | 强制保存并退出 |
:w <文件路径> | 另存为 |
:saveas 文件路径 | 另存为 |
:x | 保存并退出 |
:wq | 保存并退出 |
2.普通模式下退出vim
普通模式下输入Shift+zz即可保存退出vim
练习截图:
一:
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150922171116225-1282657299.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150922171146147-461406600.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150922171231600-1547322019.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150922171249865-1721661006.png)
二:使用vim 输入以下代码,联系使用“K”查找帮助文档:
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925233034834-329423552.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925232953475-1733113627.png)
自己对于K的用法还是很不熟悉。
三:练习gcc编译运行代码
gcc分为4个步骤: 预处理:
gcc -E hello.c -o hello.i
编译:
gcc -S hello.i -o hello.s
汇编:
gcc -c hello.s -o hello.o
链接:
一:静态链接
ar rcsv lipow.a unsgn_pow.o
gcc -o pow_test.c -L.-lpow
./pow_test 2 10
二:动态链接
gcc -fPIC -Wall -c unsgn_pow.c
gcc -shared -o libpow.so unsgn_pow.o
gcc -o pow_test pow_test.c -L. -lpow
经过反复的查找自己的错误,不断地改正,终于用gcc成功编译
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925231901069-358290750.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925231921084-783717956.png)
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925231958850-930856995.png)
四:练习gdb调试代码
![](http://images2015.cnblogs.com/blog/811155/201509/811155-20150925234220162-722929360.png)
启用VIM的特性
1.编辑vimrc文件:
:edit ~/.vimrc (Unix系统命令):edit $VIM/_vimrc(MS-windows系统命令)
2.读取vimrc实力文件的内容:
:r $VIMRUNTIME/vimrc_example.vim3.保存文件
:writeCTRL+D 和 TAB键可以进行命令行补全
gcc
GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译。预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp(E-i)
编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl(S-s)
汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as(C-o)
链 接:gcc hello.o –o hello ;gcc -o 调用ld
gdb
gdb programm(启动GDB)b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
run 开始运行程序
bt 打印函数调用堆栈
p 查看变量值
c 从当前断点继续运行到下一个断点
n 单步运行
s 单步运行
quit 退出GDB
display 跟踪变量值的改变
until 跳出循环
finish 跳出函数
help 帮助
相关文章推荐
- UITableView的registerClass forCellReuseIdentifier用法详解
- 热点算法
- HTTP Cookie详解
- 平方和与立方和
- 微信表情的字符编号完整版【图文并茂哦!】
- Android应用是否可以只有一个Service或Broadcast Reciver,而没有Activity?
- idea 编辑器 光标问题!
- Qt vs2010 中文 newline in constant
- Spring整合CXF,发布RSETful 风格WebService
- 滴滴优步神州掀新一轮融资大战
- 多控制器
- 解决虚拟机VBox下Ubuntu无法全屏的问题
- linux中在线安装mysql数据库
- iOS9 新增 UIStackView 官方文档翻译
- Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<YHTargetTableViewCell
- 火云开发课堂 - 《Shader从入门到精通》系列 第八节:在Shader中实现黑白滤镜
- ORACLE SQL性能优化
- 详解Java中的数组与字符串相关知识
- java基础知识点
- 深信服软件开发面试---体无完肤