第二周学习记录

上周失败的学习导致在测试中获得了2分的高分,所以本周需要做出一些改动 

1. 熟悉Linux系统下的开发环境

2. 熟悉vi的基本操作

3. 熟悉gcc编译器的基本原理

4. 熟练使用gcc编译器的常用选项

5 .熟练使用gdb调试技术

6. 熟悉makefile基本原理及语法规范

7. 掌握静态库和动态库的生成

一:Vim

 

1.使用vim命令进入vim界面   

$ vim practice_1.txt  或    $ vim

2.游标移动

按键说明
h
l 右(小写L)
j
k
w 移动到下一个单词
b 移动到上一个单词

 

3.进入插入模式

 

命令说明
i 在当前光标处进行编辑
I 在行首插入
A 在行末插入
a 在光标后插入编辑
o 在当前行后插入一个新行
O 在当前行前插入一个新行
cw 替换从光标所在位置后到一个单词结尾的字符

 

 

4.命令行模式下保存文档

从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下

5.退出vim

 

1.命令行模式下退出vim

 

从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑

 

以下为其它几种退出方式:

 

命令说明
:q! 强制退出,不保存
:q 退出
:wq! 强制保存并退出
:w <文件路径> 另存为
:saveas 文件路径 另存为
:x 保存并退出
:wq 保存并退出

 

2.普通模式下退出vim

 

普通模式下输入Shift+zz即可保存退出vim

练习截图:

一:

 

 二:使用vim 输入以下代码,联系使用“K”查找帮助文档:

 

自己对于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成功编译

 

 四:练习gdb调试代码 

启用VIM的特性

1.编辑vimrc文件:

:edit ~/.vimrc (Unix系统命令)

:edit $VIM/_vimrc(MS-windows系统命令)

2.读取vimrc实力文件的内容:

:r $VIMRUNTIME/vimrc_example.vim

3.保存文件

:write

CTRL+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 帮助

 

原文地址:https://www.cnblogs.com/KG35/p/4838915.html