一、vim

vim修改一下配置文件后,如果你稍微会点vim的命令使用,那可比一般的编辑器好用啊,如果一点不会vim的命令使用,就跟一般编辑器一样使用。

打开etc/vim/vimrc文件

这里的引号是注释的意思。

去掉引号就可以了,我说明一下某些set的意思,其他的可以自己网上搜搜是啥意思,其实后面英文有注释的。如果自己的配置文件里面没有,可以手动添加。

set mouse=a 在终端中可以使用鼠标

set ignorecase 查找时忽略大小写

set nu 自动添加行号

set ai 自动缩进

set smartindent 智能对齐

set encoding=cp936 设置当前字符编码为windows简体中文

set tabstop=4 设置TAB键为4个空格

按下面我修改的一些就可以很利索的使用vim:

编辑.c文件的效果是:

二、GCC

gcc方面的资料网上应该一大堆http://blog.csdn.net/yyaong_520/article/details/6766820

一般情况下,我只用一个

-o的命令:

还有一个-g的命令:指示编译程序在目标代码中加入供调试程序gdb使用的附加信息。在使用gdb调试的时候,最好加上这个选项。

三、gdb

我习惯以一个可执行程序作为gdb的参数启动gdb

gdb first(first问gcc的输出结果)

(注意,gcc加了-g选项)

下面说几个调试时常用到的几个选项。

list 显示源文件:

list                                   没有参数,显示当前行之后或周围的10多行

list start,end                    显示从行号start到end之间的代码行。

print 查看运行时的数据

print i                                显示当前变量i的值

print &i                              显示变量i的存放地址

print array@5                   显示从array(数组名)开始的5个值

print array[2]@3               显示从array第二个元素开始的3个数组元素的值

whatis i                             显示变量i的数据类型

设置断点 break

break linenum                   在当前文件指定行linenum处设置断点

break function                   在当前文件函数function的入口处设置断点

显示断点 info

info breakpoints/break/watchpoints  [num]

单步跟踪

step [N]                              如果遇到函数调用,并且该函数编译时有调试信息,则会进入该函数内执行。

next [N]                              遇到函数调用时,执行整个函数。

连续执行

continue                             从当前行开始,连续执行到下一个断点处,或者到达该程序结束。命令中可以给出一个数字N,忽略其后N-1次断点

运行程序 run

另外几个:clear(清除所有已定义的断点),delete(删除所有断点,后面可给出断点号码,多个断点用空格分开),disable(停用指定断点,停用多个则用空格分开),enable(激活被停用的断点,各断点号码用空格分开)

我的博客中有个“gdb的简单使用

最新文章

  1. JavaScript break跳出多重循环
  2. 配置VS代码生成工具ReSharper快捷键
  3. OC语言-04-OC语言-核心语法
  4. Java Hour 53 HQL
  5. web前端相关的书籍
  6. MFC原创:三层架构01(人事管理系统)DAL
  7. IIS Hang Troubleshoot
  8. Java - 反射机制(Reflection)
  9. js获取当前url参数的两方式
  10. TCP/IP笔记 二.网络层(1)
  11. Web API设计
  12. 谈谈android反编译和防止反编译的方法(转)
  13. js中常用的Math方法总结
  14. Linux编程之从零开始搭建RPC分布式系统
  15. 我的Markdown的利器——Markdown Here、有道云笔记、iPic
  16. nginx接入let's encrypt
  17. 【面试题】java面试题整理(有空再贴答案)
  18. Vue-嵌套路由
  19. wordpress去掉<link rel='dns-prefetch' href='//s.w.org' />
  20. linux设置代理

热门文章

  1. mssql查询某个值存在某个表里的哪个字段的值里面
  2. 黄聪:Discuz!X3.2 如何配置超级版主或者某些管理员,允许管理用户组或者权限
  3. (C/C++) Interview in English. - Memory Allocation/Deallocation.
  4. jquery.cookie.js存与取以及过期时间设置
  5. PLSQL_Oracle物化视图Material View的基本概念和用法 (概念)
  6. 转:谷歌大脑科学家 Caffe缔造者 贾扬清 微信讲座完整版
  7. LPC1768之ISP
  8. 后台接受ajax传递值的实例代码
  9. Python标准库12 数学与随机数 (math包,random包)
  10. c#程序中使用"like“查询access数据库语句的问题