如果你现在正在学习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. CircularProgressBar

    https://github.com/semicoder/CircularProgressBar https://github.com/amurani/MeterView

  2. [MODx] Build a CMP (Custom manager page) using MIGX in MODX 2.3 -- 2

    We are not finishing yet... 1. Under MIGX Management, we need to add some "Actionbuttons" ...

  3. C#操作Excel文件(读取Excel,写入Excel)

    看到论坛里面不断有人提问关于读取excel和导入excel的相关问题.闲暇时间将我所知道的对excel的操作加以总结,如今共享大家,希望给大家可以给大家带了一定的帮助.另外我们还要注意一些简单的问题1 ...

  4. ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST

    最近想更深入学习下classic BADI, 以前没玩过BADI屏幕增强, 所以决定玩一下. 这次的屏幕增强主要用到两个BADI: ME_GUI_PO_CUST和ME_PROCESS_PO_CUST ...

  5. 学习笔记之DB2 9 Fundamentals 730

    Sequence中cache的影响,每新建一个连接,next value值增加increment * cache.如果加上order,则会按顺序生成值. increment cache ; Conne ...

  6. android startActivityForResult(Intent intent, int requestCode) 整理与总结! .

    假设有两个Activity,主界面A,功能界面B,由A启动B,并传数据给B,B在经过处理后把数据传回给A. 先是A传B: Bundle bundle = new Bundle();bundle.put ...

  7. Middleware

    Middleware The middleware gives a single shot to the views associated into Controllers, before execu ...

  8. IIS 之 添加MIME扩展类型及常用的MIME类型列表

    经常用IIS作为下载服务器的时候有时传上去的文件比如 example.mp4 文件名上传后,但是用http打开的时候确显示为 404 文件不存在.其实是IIS对文件的一种保护,不在IIS指定的MIME ...

  9. JAVA 快递查询接口API调用-快递鸟接口

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  10. 两个字符串,若为数字则都相加,若有一个不为数字则,输出error

    import java.util.*; /*请设计一个算法能够完成两个用字符串存储的整数进行相加操作,对非法输入则返回“error”: * 用例:123 234 * 输出:357 * 用例123 as ...