一些与开发相关工具的使命

一些与开发相关工具的使命

编译并运行只有一个文件的程序是相当容易的,e.g.

//编译器 源文件参数标记 源文件 可执行文件参数标记 可执行文件
xcompile -s singlefile.code -o singlefile.exe

但几乎所有的软件代码都超过了一个文件,而且起码要分调试版和发行版,然后还要依赖不同的库

我们当然可以每次都把这些参数逐个传给编译器,但显然会很麻烦,特别是在参数很多的情况下

我们也可以把不同目的的编译指令保存下来,但不同的指令可能只有很小的修改

那么为了开发方便,就有了基于编译的配置工具

make

C 风格的编译配置工具

ant

面向对象风格的编译配置工具,源于 Java

Maven

项目越来越大,依赖的库越来越繁杂,所以出现了专门的库中心和相应的库管理工具

有标准的项目结构

gradle

ant 和 maven 虽然都使用 xml 作为配置文件,但还是分开的

而且随着软件开发规模和方向的进化,发行版也再次细分出了更多版本,特别是手机应用不同渠道商的版本

gradle 整合了以上两者,并提供了更细分的配置功能

更进一步,配置终究是配置,你只能使用工具提供的指令,如果要做定制扩展,还要用其它语言开发插件

而 gradle 配置文件也是脚本,可以直接在配置文件里写扩展

Cmake

同样是用 C 语言写程序,在不同平台上,如 windows 和 linux,代码本身有什么不同吗?
有,主要是底层提供的接口和接口名字不同,语法是一样的

最主要的不同是使用的 make 工具和 IDE 不同

CMake 可以用同样的代码为不同的平台生成相应的 make 文件和 IDE 工程文件

你可能感兴趣的:(软件开发,make,ant,gradle,cmake,maven)