如果你现在正在学习C语言,而你又不希望使用微软提供的任何C语言的任何编译器,那么你应该考虑一下GCC。GCC是运行于类UNIX系统下的编译器工具集,这又引出了另一个让人头疼的问题,你没有一台现成的装有UNIX系统的机器可用,同时,你也不希望弄个笨重的虚拟机。

这时候,你应该考虑一下Cygwin。

Cygwin是一款运行于Windows下的UNIX环境模拟软件,安装了Cygwin,你就可以通过命令行使用UNIX下的多个工具,其中就包括了GCC。

有了这些,对于学习UNIX下的C语言编程,就差不多够了。

废话不多说了,下面看看怎么安装Cygwin:

第1步、下载安装程序

Cygwin是一款自由软件,由Cygnus Colutions公司(这是一家非常有名的软件公司)开发。你可以到它们的网站去下载Cygwin的安装程序。

网站的地址:http://www.cygwin.com/,进入网站首页。

找到setup-x86.exesetup-x86_64.exe字样的链接地址,点击这个链接地址或右键另存为。

总之想办法把它保存到你的硬盘上,比如保存到D:/Cygwin/setup-x86_64.exe

setup-x86.exesetup-x86_64.exe的区别是:后者是64位的-_-!!!。

我选择下载setup-x86_64.exe,因为我的机器和操作系统都是64位的,下载之后,你会发现这个文件的大小还不到1M,不到1M的程序是怎么模拟UNIX环境的呢?这实在是太厉害了!

我想你似乎没有搞清楚,setup-x86_64.exe只是一个安装程序,它的作用是去官网上下载各种程序组件,这些组件共同协作才完成了UNIX系统的模拟,但它本身并不模拟软件。

第2步、运行安装程序

双击运行D:/Cygwin/setup-x86_64.exe,一路下一步、下一步…

我推荐你不要做任何修改,比如中间有些步骤允许你修改安装路径什么的,别去改它(但你要记住它,下面会用到这个路径),你为的是使用Cygwin来进行UNIX下的C语言学习,不是为了学习Cygwin的安装过程。主次一定要分清楚。

不断点击下一步,知道setup-x86_64.exe开始到官网镜像上去下载所必须的组件程序,安装过程是自动的,慢慢等着,如果网速不行,你需要耐心得慢慢等着。

第3步、启动模拟程序

从开始/菜单里面找找,看看是不是多了个Cygwin的程序(或者差不多的东西),点击打开它,模拟程序就启动了。

这是一个命令行程序,黑色的界面,但是进去之后很像是UNIX的命令行。在这里你可以使用基本的UNIX-Shell命令,比如你输入pwd,会显示你目前所在的目录。

比如我在自己的机器上运行pwd,会显示/home/test

/home/test是哪个目录呢?Windows上没有这个目录的啊。。。我替你解开这个疑团,你去Cygwin的安装路径下看看,里面除了home目录,dev、etc、lib、tmp、usr、var这些UNIX根目录下该有的目录,里面都有。

现在你应该明白了吧?

第4步、写个C语言程序试试

在模拟环境里输入gcc回车,看看会显示什么?

$ gcc

gcc.exe: no input files

可以看出来,gcc是可以使用的,但是指定的参数不对,提示没有指定程序文件。那么我们自己创建一个。为了方便我们就在home目录下创建一个C语言的hello world程序。

别想太复杂了,没人强制你使用vi编辑器写这个C语言程序,直接通过Windows的文件夹浏览方式进入home目录的实际目录,在下面右键创建一个hello.c的文件就行,用文本编辑器打开这个文件,输入如下内容,保存即可:

#include <stdio.h>

int main() {

printf("hello world!");

}

在命令行下输入如下命令进入home目录:

cd /home

再输入如下命令编译hello.c文件:

gcc hello.c -o hello

注意,-o的o是英文字母o,不是数字0

如果编译没有报错,会在home目录下生成一个名叫hello的文件,在命令行下输入如下命令,运行这个文件:

$ ./hello

hello world!

看看吧,打印出hello world!了,跟程序的逻辑一样。

完毕。

安装Cygwin的更多相关文章

  1. Windows下使用AutoSSH,并作为服务自启动(不用安装Cygwin)

    之前的折腾过Windows下ssh的自动登录,比如这篇Windows下使用Xshell建立反向隧道,但是这个不能无交互的情况下自动连接(比如在连接新主机时),也就很难在服务中使用.解决方法还是得使用命 ...

  2. android NDK入门 windows下安装cygwin

    一.Android NDK环境简介 Android NDK 是运行于Android 平台上的Native Development Kit 的缩写. Android 应用开发者可以通过NDK 调用C 或 ...

  3. Eclipse NDK 配置,无需安装Cygwin

    Eclipse NDK 配置,不用安装Cygwin 文章转自http://www.cnblogs.com/chenjiajin/archive/2012/04/12/2444188.html 一.关于 ...

  4. Win下安装Cygwin中的SSH服务

    windows和linux各有其优越性,可以安装在同一台电脑上,但切换要重启.同时拥有两台电脑,一台装win,一台装linux,自然非常好,但具备此条件的不多.本文介绍cygwin,它可以让你在win ...

  5. 下载安装Cygwin

    下载程序 http://www.cygwin.com/ 安装程序 下载完成后,运行setup.exe程序,出现安装画面. 直接点“下一步”,出现安装模式的对话框,如下图所示: 这里可以看到有三种安装模 ...

  6. win10下安装Cygwin配置gcc编译环境

    首先要说明的是,我个人安装cygwin的用途是为了使用kenlm工具训练通及语言模型. 注:统计语言模型工具有比较多的选择,目前比较好的有srilm以及kenlm,其中kenlm比srilm晚出来,训 ...

  7. windows下安装cygwin及配置(转)

    reference:https://cygwin.com/install.html 对比:MinGW vs. CygWin    https://www.cnblogs.com/findumars/p ...

  8. Windows 平台下安装Cygwin后,sshd服务无法启动

    Windows 平台下安装Cygwin后,sshd服务无法启动 系统日志记录信息: 事件 ID ( 0 )的描述(在资源( sshd )中)无法找到.本地计算机可能没有必要的注册信息或消息 DLL 文 ...

  9. Eclipse NDK 配置,不用安装Cygwin

    一.关于NDK:NDK全称:Native Development Kit.1.NDK是一系列工具的集合.NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用 ...

随机推荐

  1. linux设置tomcat开机自动启动

    1.修改/etc/rc.d/rc.local,使用vi /etc/rc.d/rc.local 命令2.在/etc/rc.d/rc.local文件最后添加下面两行脚本 export JAVA_HOME= ...

  2. sqlninja 说明 (转)

    首先来介绍一下sqlninja的优点. 一个专门针对Microsoft SQL Server的sql注入工具 可找到远程SQL服务器的标志和特征(版本.用户执行的查询.用户特权.xp_cmdshell ...

  3. 【55】让自己熟悉Boost

    1.网址:http://boost.org 2.有很多C++组织和网站,但是Boost库有两个优势:a.和标准委员会关系密切:b.加入C++标准的各种功能的测试场.

  4. Tomcat部署web应用的三种方式

    原文:http://my.oschina.net/sunchp/blog/90235 一:相关概念 CATALINA_HOME:tomcat安装目录 CATALINA_BASE:tomcat工作目录 ...

  5. WIX在VS2012中如何制作中文安装包

    WIX安装图文并茂简易说明一文中介绍了WIX安装包的制作过程,不过生成的是英文版的,如果需要制作中文版的安装包呢? 方法很简单,只需要两步. 1.增加中文UI的文件WixUI_zh-cn.wxl到工程 ...

  6. [AngularJS] angular-schema-form -- 1

    Check out on gitHub, see the example on Demo page, see the document, extension. Mainly, there are th ...

  7. PAT 1010

    1010. Radix (25) Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 11 ...

  8. 关于Android模拟器键盘不能使用的解决方法

    很多朋友遇到一个问题,自己搭建完了Android环境后,启动模拟器体验Android系统,但是发现不能使用键盘方便的输入内容,如下图: 同时,使用笔记本的键盘也无法输入内容,只能通过模拟器内置的输入法 ...

  9. C#_MVC_ajax for form

    在上一篇介绍MVC中的Ajax实现方法的时候,曾经提到了除了使用Ajax HTML Helper方式来实现之外,Jquery也是实现Ajax的另外一种方案. 通过get方法实现AJax请求 View ...

  10. swfupload操作手册

    SWFUpload SWFUpload 最初是Vinterwebb.se 开发的客户端文件上传工具.它联合javascript和flash,在浏览器中提供一个优于传统上传标签 <input ty ...