软件开发工具集
软件开发工具集!
会飞的代码UP
自强不息,厚德载物。
展开
-
【Bash百宝箱】Git常用命令总结
Git是一款开源的分布式版本控制系统,由Linux之父Torvalds用C语言开发。“the stupid content tracker”,Git自诩为stupid,却是一个非常强大的tracker。Git管理项目时,文件流经三个工作区:工作目录、暂存区及本地仓库。1、在Linux上安装Git——快速安装:在终端执行命令“sudo apt-get install git”。源码安装:下原创 2015-04-01 11:26:07 · 1481 阅读 · 0 评论 -
【Bash百宝箱】初识gdb
gdb是什么?在linux终端找man后,对gdb的描述如下——/**********gdb**********/gdb即The GNU Debugger的缩写。gdb是一种调试工具,使用gdb可以窥探一个程序在运行时或者crash时的内部信息,主要有以下四种功能:1、启动程序,按自定义的方式运行程序。2、在特定条件下(即断点处)stop程序。3、程序stop时,检查程原创 2015-05-19 10:03:39 · 1110 阅读 · 0 评论 -
【Bash百宝箱】gcc编译规则
GCC即GNU Compiler Collection,GNU编译器套件,包括C/C++等多种语言。在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。1、下面介绍一些最基本、最常用的参数。GCC最基本的用法是:gcc [options] 其中,options就是编译器所需要的参数,filenames给出相关的文件名称。-E,让编译器在预处理后停止,并输出预处理器原创 2015-05-24 17:13:33 · 1808 阅读 · 0 评论 -
【Bash百宝箱】几个常用的gdb命令
show——show language:查看当前程序的语言环境。show convenience:查看当前所设置的所有环境变量,不同与environment。show paths:查看程序的运行路径。set——set language :手动设置当前程序的语言环境。set var =:通过var指定variable为程序的变量而非GDB的变量,以免产生冲突。se原创 2015-06-17 18:23:39 · 977 阅读 · 0 评论 -
【Bash百宝箱】Makefile快速入门
一、读懂Makefile1、Makefile简介简单来说,Makefile就是帮助我们编译工程并生成可执行文件。现在的IDE基本上都做了Makefile的事情,并不需要我们自己去手动编写Makefile,但是在Linux环境下,对于一个大型工程,我们常常要定制自己的编译规则,要编译哪些文件,该如何编译,通过Makefile就可以搞定。有了Makefile,只需要执行一个简单的make命令,即可实现自原创 2015-08-05 14:13:33 · 2468 阅读 · 0 评论 -
【Bash百宝箱】valgrind简介
Valgrind官网请参考如下网址: http://valgrind.org/1、 Valgrind简介Valgrind定义为framework,用来构建动态分析工具,这些Valgrind工具可以用来检测内存问题、进行性能分析……Valgrind是开源、自由的,基于GNU GPL v2协议,最新的release版本为2014年11月25日的Valgrind-3.10.1,发布了一些可以在多平台上使原创 2015-09-11 20:18:19 · 1023 阅读 · 0 评论 -
【Linux】使用__wrap_malloc查看内存使用
说起C/C++程序,一个老生常谈的问题便是内存分配,而这也是一个难点。在大型的软件开发项目中,常会遇到较大的常驻内存、内存泄露、内存破坏等问题,这些问题往往都是致命的。于是我们就借助于一些内存检测工具、API或者是某种技术手段,来动态地跟踪内存分配,查看内存使用细节,方法很多,各有利弊,GNU链接器就提供了一个好用的方法:–wrap=symbol函数名为“__wrap_symbol”,且称其为包装函原创 2015-11-09 13:49:38 · 5092 阅读 · 0 评论 -
【Linux】LD_PRELOAD用法
LD_PRELOAD,是个环境变量,用于动态库的加载,动态库加载的优先级最高,一般情况下,其加载顺序为LD_PRELOAD>LD_LIBRARY_PATH>/etc/ld.so.cache>/lib>/usr/lib。程序中我们经常要调用一些外部库的函数,以malloc为例,如果我们有个自定义的malloc函数,把它编译成动态库后,通过LD_PRELOAD加载,当程序中调用malloc函数时,调用的原创 2015-11-20 21:13:12 · 26060 阅读 · 6 评论 -
【Bash百宝箱】快速使用gcov&lcov构建程序的单元测试
在软件开发过程中,为了验证代码块功能的完备及健壮性,我们常常会做一些单元测试,验证函数的调用符合预期,再加上gcov、lcov这样的工具,可以生成HTML格式的单元测试结果,极大地提供了可读性。下面以一个动态库的单元测试为例,简述gcov、lcov的用法。1、代码准备在“/home/demo”目录下,包括测试代码test.c和被测试代码demo.h、demo.c,如下:// demo.h#ifnd原创 2015-12-23 13:17:22 · 1511 阅读 · 0 评论 -
【Bash百宝箱】repo init error - manifest xxx.xml not available
下载开源项目tizen-ivi源代码时,遇到了如下错误:$ mkdir /home/tizen-ivi$ cd /home/tizen-ivi$ repo init -u ssh://hjj@review.tizen.org:29418/scm/manifest -b tizen -m ivi.xml...fatal: manifest 'ivi.xml' not availablefat原创 2016-08-08 11:07:09 · 6588 阅读 · 0 评论 -
【Bash百宝箱】GNU make命令
GNU make命令格式如下:make [ -f makefile ] [ options ] ... [ targets ] ...make命令各选项的作用如下:“-b”:同“-m”。“-m”:为了其它版本的make兼容性,这个选项被忽略。“-B”:同“–always-make”,无条件编译所有目标。“-C dir”:同“–directory=dir”,在读取makefile文件或者做其它事情之前原创 2016-10-08 21:08:48 · 1223 阅读 · 0 评论 -
【Bash百宝箱】gcc命令
GCC即GNU Compiler Collection,GNU编译套件,支持C、C++等多种语言。在使用GCC的时候,我们必须给出一系列必要的参数选项和文件名称。参数选项分几类,包括总体选项、语言选项、预处理选项、汇编选项、链接选项、目录选项、警告选项、调试选项、优化选项、目标选项、机器相关选项、代码生成选项等。1、下面介绍一些最基本、最常用的选项。 gcc [-c|-S|-E] [-s原创 2016-10-11 20:12:17 · 1438 阅读 · 0 评论 -
【Bash百宝箱】gdb命令
gdb即The GNU Debugger,是一种调试工具,使用gdb可以查看一个程序在运行时或crash时的内部信息,主要有以下四种功能。a 启动程序,按自定义的方式运行程序。 b 在特定条件下(即断点处)停止程序。 c 程序停止时,检查程序中所发生的事情。 d 改变程序执行环境,修正bug行为。gdb可以调试C、C++程序,在shell终端启动gdb有多种方式。1、直接运行gdb而不带任何参原创 2016-10-13 13:30:29 · 2405 阅读 · 0 评论 -
【Bash百宝箱】认识git
git是一款开源的分布式版本管理系统,由Linux之父Torvalds用C语言开发,他对git的解释是“the stupid content tracker”,自称为stupid,却是一个非常强大的tracker。使用git管理项目时,文件流经三个工作区:工作目录、暂存区及本地仓库。先来感性地认识一下,当我们初始化或者克隆一个仓库时,在当前目录有一个名为“.git”的隐藏目录,里面保存了这个仓库的版原创 2016-10-15 17:21:38 · 944 阅读 · 0 评论 -
【Bash百宝箱】doxygen
1、简介doxygen是一个用于多种编程语言的文档系统,支持C++、C、Java、Objective-C、Corba和Microsoft风格的IDL、PHP、C#、D等。在Linux下,doxygen是一个命令行工具,另外还有一个GUI工具doxywizard,下面简单介绍doxygen的用法。2、配置文件在Linux shell执行如下命令,其中-g表示生成配置文件,-s表示配置文件中不保留注释代原创 2017-09-20 18:54:47 · 807 阅读 · 0 评论 -
【C++】cpplint
1、简介cpplint或cpplint.py是Google开发的一款代码静态检查工具,Python实现,用以检查C++代码是否遵循Google代码规范,还可以发现语法错误。2、示例test.cpp示例代码如下:int foo(int a) { if (a < 0) { a = 0; } return a;}int bar(int a) { if (a原创 2017-09-21 13:48:32 · 3166 阅读 · 0 评论 -
【C++】cppcheck
1、简介cppcheck是一款用于C/C++的代码静态检查工具,与编译器和其它的分析工具不同,cppcheck不检查代码中的语法错误,主要目的是检查编译器在正常情况下发现不了的错误,即代码中真正的错误或者说运行时错误,也就是计算机术语中的zero false positives,如越界操作、内存泄漏、空指针引用、变量未初始化等等。2、示例test.c示例代码如下:int main(){ c原创 2017-09-21 13:49:39 · 1752 阅读 · 1 评论 -
【CS】软件测试概念Software Testing
1、定义软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。行业标准IEEE/ANSI提出的软件工程术语中给软件测试下的定义是:使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。2、方法从是否关心软件内部结构和具体实现的角度划分: ——白盒...原创 2017-09-23 12:56:02 · 2818 阅读 · 0 评论