Cygwin,gcc的使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cygwin ,gcc 的使用(一)
很多用windows 的朋友不习惯于用linux 的开发环境。虽然很乐意尝试一下,但是往往怕linux 系统打乱了自己的正常生活: 1 〉装linux 系统把windows 系统给搞坏了,导致自己无法正常生活;2>linux 开发上手太难,写出第一个helloworld 不亚于java 的难度,环境配置摸不着头脑。对于此,我的看法是:路不管平还是陡,终归你要走的,如果你愿意投入到linux 开发的社群中来,不会安装linux 系统,不会配置工作环境是不能想象的。( 事实上,确实要了解很多东西的原理,不然很难排错:诸如,硬盘引导器的引导原理、分区结构原理及linux 分区结构和文件系统、环境变量的设置、种类繁多的压缩包安装包的解压安装方法、用户管理权限管理等常用命令、以至于驱动安装系统中文化等等异常琐碎的东东) 。
本文试图跳过这个难走的步骤,启用一个win 环境下的linux 仿真器(和linux 下面的命令行开发环境基本一致),用短短的20 分钟的时间,教你做出一个纯正的linux 下gcc 编译的helloworld 。就象是买点心前先尝尝味道,不也是一件很愉快的事情么?( 注:cygwin 事实上不仅有此模拟功能,它也是移植unix<-->win 程序的一个很有效的工具,也有人用它来做嵌入式系统开发)
一、cygwin 是什么?
这个问题你最好google 一下"cygwin 的历史", 或许能够获得更为详尽的答案。简而言之,cygwin 是一个在windows 平台上运行的linux 模拟环境,是cygnus solutions 公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos ,不过现已被Redhat 收购)。插一句废话,很多朋友不明白linux 和unix 的区别和联系,在此也简要介绍一下。UNIX 是一个注册商标,是要满足一大堆条件并且支付可观费用才能够被授权使用的一个操作系统;linux 是unix 的克隆版本,是由其创始人Linus 和诸多世界知名的黑客手工打造的一个操作系统。为什么linux 和unix 之间有很多软件可以很轻松的移植?因为linux 也满足POSIX 规范, 所以在运行机制上跟unix 相近。以下引用网上的一段话用于说明cygwin 的工作机制:cygnus 当初首先把gcc ,gdb ,gas 等开发工具进行了改进,使他们能够生成并解释win32 的目标文件。然后,他们要把这些工具移植到windows 平台上去。一种方案是基于win32 api 对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库( 就是cygwin dll) ,把win32 api 中没有的unix 风格的调用(如fork,spawn,signals,select,sockets 等)封装在里面,也就是说,他们基于win32 api 写了一个unix 系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix 主机上的交叉编译器来生成可以在windows 平台上运行的工具集。以这些移植到windows 平台上的开发工具为基础,cygnus 又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows 上来。这样,在windows 平台上运行bash 和开发工具、用户工具,感觉好像在unix 上工作。关于cygwin 实现的更详细描述,请参考/cygwin-ug-net/highlights.html
二、cygwin 的安装。
cygwin 的安装文件很容易通过google 找到。目前国内的网站上有" 网络安装版" 和"
本地安装版" 两种。标准的发行版应该是网络安装版。两者并无大不同,下面介绍一下安装的过程。
step1. 下载后,点击安装文件(setup.exe) 进行安装,第一个画面是GNU 版权说明,点" 下一步(N) —>" ,进入安装模式选择画面。
step2. 安装模式有"Install from Internet" 、"Download form Internet" 、
"Install from Local Directory" 三种。"Install form Internet" 就是直接从internet 上装,适用于网速较快的情况。如果你和我一样网速不是很快,或者说装过之后想把下载的安装文件保存起来,下次不再下载了直接安装,就应该选择"Download form Internet" ,下载安装的文件(大约40M 左右)。
step3. 接下来是选择安装目的路径和安装源文件所在的路径,之后就进入了选择安装包所在的路径。
注意了阿,这里可是重头戏。我第一安装的时候就是没有看清这一步,结果没有把gcc 装进去,导致没法编译文件。
+ All Default
+ Admin Default
....
+ Devel Default
+ Editors Default
....
如上图所示,你在这个TreeView 的某个节点上双击,就可以改变它的状态,如Default 、Install 、Uninstall 、Reinstall 四种状态。默认的都是Default 状态,很多工具的默认状态都是不安装。在这里我选择了在All 这一行上后面的Default 上点Install ,全部安装,以免后患。(注意:这里的树形控件和win 下面的不同,你试试点在All 上点和在All 这一行后面的Default 上点,会有不同的响应)
step4. 点下一步,安装成功。它会自动在你的桌面上建立一个快捷方式。
好了,下面就开始我的linux 旅程了。双击cygwin 的快捷方式进入系统。
首先介绍几个简单的linux 命令。
pwd 显示当前的路径