在windows系统下进行linux编程--cygwin的安装与使用

这学期开了linux课程,很是新奇,奈何电脑受限(14年10月裸机到手,算上初次光盘装一次win8,前后差不多重装了7,8次,包括两次搬家式重装,还有配的乱七八糟的环境,莫名其妙的磁盘分区,蓝屏,白屏,黑屏各种日常死机……),从一开始我就放弃安装双系统甚至虚拟机。

然而该来的还是会来的,有限的课时并没有完成任务,亟需课下自救。遍访论坛贴吧后,一个叫“cygwin”的东西进入我的视野。

cgywin

百科定义:Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的*软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。

哦,对了,这个单词读/ˈsɪɡwɪn/,音近“洗个位in”

虽然这个工具是为了在两个系统之间进行开发而生,但此时对我来说,cygwin就是一个“模拟器”,在windows上模拟linux的命令,进行编程。

cygwin的安装下载

我是在官网找到的:https://cygwin.com/install.html,随便点个“setup-x86.exe ”进行下载,下载下来的是个860k的在线安装包。听说还有牛人将完整的东西自己打包提供本地安装,以符合基本国情……

下载完成后直接点击安装,有几种方式,初次安装看过以下博客:
《下载安装cygwin》http://www.cnblogs.com/hustcat/articles/1422366.html
《CYGWIN是什么》http://blog.csdn.net/Arvin2003/article/details/743077
《Cygwin使用方法》http://blog.163.com/arm_linux008/blog/static/13780414220102834626186/

如果想详细了解,请品读以上文章。
如果你1.有足够时间2.怕麻烦3.只想做linux下的c编程,复制我的做法就好:
点开安装程序后第一、二个页面:
在windows系统下进行linux编程--cygwin的安装与使用
在windows系统下进行linux编程--cygwin的安装与使用
第二张图片为三种安装方式,我选择第一种–从网上下。

第三、四、五张图片选择程序目录和包目录还有连接方式(?),我没有变,一路下一步
在windows系统下进行linux编程--cygwin的安装与使用
在windows系统下进行linux编程--cygwin的安装与使用
在windows系统下进行linux编程--cygwin的安装与使用
嗯,第四张是因为我安装包目录放在lol的目录里面了,我也懒得改了……

第六张是选择映像源,大神们说要自己add上cygwin中国,我没成功,就随便选了第一个的…..
在windows系统下进行linux编程--cygwin的安装与使用

等一个进度条,进入选择包的的页面
在windows系统下进行linux编程--cygwin的安装与使用
这里说一句。之前看一个博客被坑了……那个人说因为出了有些组件没装上导致gcc没法编译的问题,于是第二次他选择装上所有包,然后就没问题了。
我觉得这个人要么心太大,要么就根本没去做他说的东西。
因为我第一次装时就全选了,结果装了4个g后那个total进度条都没动,问了论坛,人们说全下得几十个g!

进一步的去查资料,原来只要求c编程的话,只需四部分即可。
二级分支Devel下的
binutils,gcc,gcc-mingw,gdb。
默认的这些包前都是“skip”,点击让它变成最新一次的更新时间号就好。
包名如下:在windows系统下进行linux编程--cygwin的安装与使用
说明两点,一是红线划掉的包,如果只做c编程就没必要装,是我第一次装时手快点上的,二是可能有些老的博客教程在装mingw时装的是这个(该图片来自http://www.33lc.com/article/7276_3.html在windows系统下进行linux编程--cygwin的安装与使用

不用纠结,我用的版本等于把mingw-gcc换成gcc-mingw,只是名字顺序问题,都是一个东西。

下一步,等待安装,我用的校园网,前后用了20分钟左右。
在windows系统下进行linux编程--cygwin的安装与使用

完成,桌面生成快捷方式在windows系统下进行linux编程--cygwin的安装与使用
第一次启动有以下字样
在windows系统下进行linux编程--cygwin的安装与使用
可以实验linux基本命令了

另外,模拟系统所在的根目录从安装目录下home文件夹里生成的一个一用户名命名的文件夹开始。
比如我的C:\cygwin\home\ag 这就相当于实际系统里的 ./

进行一例编程实验,在“根目录”下新建一个文档,写入一个简单的输出程序,后缀改c后保存,尝试使用cygwin窗口编译
在windows系统下进行linux编程--cygwin的安装与使用
编译成功!运行成功!

赶实验报告去也!