前言
在Unix-like OS中进行programming,就不得不掌握GNU Project所提供的一系列工具了。
GNU官网:GNU Operating System
分类
GNU提供了一系列的(很多)software,有必要对这些software进行分类,在其官网的GNU Manuals Online页面中给出了一个大分类:
- Archiving
- Audio
- Business and productivity
- Database
- Dictionaries
- Documentation translation
- Editors
- Education
- Fonts
- GNU organization
- Games
- Graphics
- Health
- Interface
- Internet applications
- Live communications
- Localization
- Mathematics
- Music
- Printing
- Science
- Security
- Software development
- Software libraries
- Spreadsheets
- System administration
- Telephony
- Text creation and manipulation
- Version control
- Video
- Web authoring
Software development
可以看到,它覆盖了非常多的领域。
对于软件工程师而言,需要重点关注的是Software development 这一大类。其中的工具很多是我们在日常工作中是离不开的。
GNU Build System
需要注意的是,gnu build system的另外一种说法是autotools:
官方介绍:An Introduction to the Autotools
组成
GNU Autoconf
官网:Autoconf
文档:GNU Autoconf - Creating Automatic Configuration Scripts
功能:创建configure
文件
关于configure文件,参见configure script
使用configure文件来创建makefile文件
GNU Automake
官网:Automake
文档:automake