摘要: SHELL (BASH) $history -显示在当前shell下命令历史 $alias -显示所有的命令别称 $alias new_command='command' -将命令command别称为new_command $env -显示所有的环境变量 $export var=value -设置环 阅读全文
posted @ 2017-11-02 21:14 啃萝卜的兔子 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 命令行 gcc/g++ [options] [filenames] 编译流程 1.预处理-Pre-Processing 2.编译-Compiling 3.汇编-Assembling 4.链接-Linking //bin文件 参数 1.总体选项 -E 只激活预处理,这个不生成文件,你需要把它重定向到一 阅读全文
posted @ 2017-11-02 17:39 啃萝卜的兔子 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 参考 http://blog.jobbole.com/44932/ 阅读全文
posted @ 2017-11-02 12:59 啃萝卜的兔子 阅读(1046) 评论(0) 推荐(0) 编辑
摘要: 移动光标 退出 删除 修改 撤销 复制粘贴剪切 状态 查找 替换 执行外部命令 .vimrc http://blog.jobbole.com/112726/ 参考 http://blog.jobbole.com/112726/ 阅读全文
posted @ 2017-11-02 12:56 啃萝卜的兔子 阅读(149) 评论(0) 推荐(0) 编辑
摘要: C-h t教程 C-x C-c 退出emacs C-g 退出一个正在运行的命令 C-v 下一屏 M-v 上一屏 C-l 光标置于屏幕中央 C-p 上一行 C-b 左移 C-f 右移 C-n 下一行 M-f 右移一个词 M-b 左移一个词 C-a 行首 C-e 行尾 M-a 句首 M-e 句尾 M-< 阅读全文
posted @ 2017-11-02 12:03 啃萝卜的兔子 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 检测内存泄漏 保存为memleak.c并编译,然后用valgrind检测。 (valgrind和purify最大的不同在于:valgrind只接管程序执行的过程,编译时不需要valgrind干预,而purify会干预程序编译过程) 我们得到如下错误信息: 可以看到,如果我们仅仅用默认方式执行,val 阅读全文
posted @ 2017-11-02 11:59 啃萝卜的兔子 阅读(940) 评论(0) 推荐(0) 编辑
摘要: Valgrind包含的工具 Valgrind支持很多工具:memcheck,addrcheck,cachegrind,Massif,helgrind和Callgrind等。在运行Valgrind时,你必须指明想用的工具,如果省略工具名,默认运行memcheck。 Valgrind的使用 首先,在编译 阅读全文
posted @ 2017-11-02 11:44 啃萝卜的兔子 阅读(2552) 评论(0) 推荐(0) 编辑
摘要: GNU gprof能够打印出程序运行中各个函数消耗的时间,可以帮助程序员找出众多函数中耗时最多的函数。产生程序运行时候的函数调用关系,包括调用次数,可以帮助程序员分析程序的运行流程。 1. 编译 g++/gcc 使用 -pg 选项编译和链接你的应用程序。在gcc/g++编译程序的时候,加上-pg选项 阅读全文
posted @ 2017-11-02 11:13 啃萝卜的兔子 阅读(994) 评论(0) 推荐(0) 编辑
摘要: Cppcheck是一个C/C++代码缺陷静态检查工具,不同于C/C++编译器及其它分析工具,只检查编译器检查不出来的bug,不检查语法错误,支持C/C++代码;作为编译器的一种补充检查,对产品的源代码执行严格的逻辑检查,执行的检查包括: 启用消息 默认情况下,只显示错误消息,可以通过 --enabl 阅读全文
posted @ 2017-11-02 10:49 啃萝卜的兔子 阅读(2616) 评论(0) 推荐(1) 编辑
摘要: 产生调试信息 g++/gcc: 使用-g选项 使用-O0选项去除优化 makefile 使用-g选项 使用-O0选项去除优化 CMakeLists.txt 添加SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb") 总览 b — 阅读全文
posted @ 2017-11-02 10:35 啃萝卜的兔子 阅读(168) 评论(0) 推荐(0) 编辑