如果你现在正在学习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. Asp.net 用 Graphics 统计图(柱状图, 折线图, 扇形图)

    统计图形种类繁多, 有柱状图, 折线图, 扇形图等等, 而统计图形的绘制方法也有很多, 有Flash制作的统计图形, 有水晶报表生成统计图形, 有专门制图软件制作, 也有编程语言自己制作的:这里我们用 ...

  2. cocos2d-x UserDefault

    转自:http://blog.csdn.net/yanghuiliu/article/details/6912612 正在做项目中有很多游戏数据要保存,常见的玩家数据这些比较简单的可以用CCUserD ...

  3. Mac OS X 10.10优胜美地怎样完美接管iphone上的电话和短信

    自从今年苹果第一次的公布会上毛猫就特别注意这个功能.感觉特别Cool,特别方便.但直到今天毛猫才第一次成功測试出这个功能呀.尽管handoff功能还未測出来,可是认为在mac上发短信和打电话也已经足够 ...

  4. Centos 7 yum 安装php

    yum install php php-devel 重启apache使php生效 /etc/init.d/httpd restart 此时可以在目录:/var/www/html/下建立一个PHP文件 ...

  5. Codeforces Round #321 (Div. 2) E. Kefa and Watch 线段树hash

    E. Kefa and Watch Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/580/prob ...

  6. TigerDLNA for ios 集成Tlplayer

    好久没有写博客了,这次带着TigerDLNA for ios 跟大家见面 什么都不说先上图 1.优点 优点由于libTigerDLNA使用uiview封装,所以大家可以很方便的集成到自己的项目中.由于 ...

  7. [React Fundamentals] Component Lifecycle - Mounting Basics

    React components have a lifecycle, and you are able to access specific phases of that lifecycle. Thi ...

  8. JavaScript/jQuery选择器简介

    DOM提供的选择器 选择器是帮助我们选择页面元素的工具,在网站制作中常常会涉及到某个元素的改变,通过选择器提取这些元素可以很轻易的实现(DOM术语把所说的“元素”称作是“节点”).JavaScript ...

  9. linux 命令学习日记 20160621

    1.cat /proc/meminfo 观察Linux系统上虚拟内存的当前状态 2.ipcs -m ipcs命令专门用来查看系统上的当前共享内存页面 3.ls /dev -al sda* ttyS* ...

  10. mysql与java的之间的连接

    package cn.hncu; //注意,以下都是sun公司的接口(类)---这样以后换成Oracle等其它数据库,代码不用动import java.sql.Connection;import ja ...