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

    oracle的commit就是提交数据(释放锁),在未提交前你前面的操作更新的都是内存,没有更新到物理文件中.执行commit从用户角度讲就是更新到物理文件了,事实上commit时还没有写date f ...

  2. eclipse jetty启动内存溢出

    一.eclipse jetty启动内存溢出, 异常信息 Exception in thread "ConfigClientWorker-Default" java.lang.Out ...

  3. ssh免密码登录记录

    做mha.hadoop安装过程中都要用ssh免密码登陆,查过一些资料,踩过很多坑,下面用简单记录一下 首先要安装ssh linux : centOS 6.5 yum -y install *ssh* ...

  4. linux shell date格式化配置

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  5. SCSS loader effect

    p{text-indent:2em;}前端开发whqet,csdn,王海庆,whqet,前端开发专家 几天来看一组利用SCSS实现的loader effect(载入效果).鼓舞大家自行动手实现,当然也 ...

  6. BBSXP最新漏洞 简单注入检測 万能password

    BBSXP最新漏洞 漏洞日期:2005年7月1日受害版本号:眼下全部BBSXP漏洞利用:查前台password注入语句:blog.asp?id=1%20union%20select%201,1,use ...

  7. 关于cocos2dx手游lua文件加密的解决方式

    非常多使用cocos2dx+lua做游戏的同学.都会想到一个问题,我的游戏一旦公布,如何才干保证的我脚本代码不被破解.不泄露代码.尽管这和开源.共享的原则不合.可是代码也是coder的劳动成果,理应得 ...

  8. 全面解析java注解

    一.注解概述       1.学习注解能够读懂别人的代码,特别是框架相关的代码       2.让自己的编程更加简洁,代码更加清晰       3.让别人高看一眼,会使用自定义注解来解决问题     ...

  9. sphinx配置文件继承

    # # Minimal Sphinx configuration sample (clean, simple, functional) # source mysql { type = mysql #数 ...

  10. 封装的分页jq

    (function ($) { $.fn.page = function (options) { var defaults = { divid: "pagediv", count: ...