以后可能会用到它,于是先学习一下。没有开发板,宿舍的机器太旧,没有Linux,只装了一个cygwin。
先从建立工具链开始吧,不过这好像已经很麻烦了。要敲命令行,还会出现不明白的错误。不过去网上一搜,发现还是很多人会遇到这个错误的。开源模式就是这样吧,发现问题以后,会有很多人帮助解决它。
configure, make, make install...运行后,命令窗口中出现一大堆的字符,像天书一样,真是壮观。只有linux才会这样吧,要是在windows中,点击一个确定“按钮”就可以了。不过每个人有每个人的风格,特别是有些开发人员,就是喜欢操纵计算机的感觉,要求没一个细节都在他的掌握之下。
Cygwin 是一个在 Windows 平台上运行的 Unix 模拟环境,是 Cygnus Solutions 公司开发的自由软件。它对于学习掌握 Unix/Linux 操作环境,或者进行某些特殊的开发工作,尤其是使用 GNU 工具集在Windows 上进行嵌入式系统开发,非常有用。
Cygnus 当初首先把 gcc , gdb 等开发工具进行了改进,使它们能够生成并解释 win32 的目标文件。然后,把这些工具移植到 windows 平台上去。一种方案是基于 win32 API 对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此, Cygnus 采取了一种不同的方法 —— 他们写了一个共享库 ( 就是 cygwin1.dll) ,把 win32 API 中没有的 Unix 风格的调用 ( 如 fork,spawn,signals,select,sockets等 )
封装在里面,也就是说,他们基于 win32 API 写了一个 Unix 系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用 Unix 主机上的交叉编译器来生成可以在Windows 平台上运行的工具集。以这些移植到 Windows 平台上的开发工具为基础, Cygnus 又逐步把其他的工具 ( 几乎不需要对源代码进行修改,只需要修改他们的配置脚本 ) 软件移植到 Windows 上来。这样,在 Windows 平台上运行 bash 和开发工具、用户工具,感觉好像在 Unix 上工作。
关于Cygwin 实现的更详细描述,请参考 http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html 。