Cygwin Primary

一、Cygwin的安装

Cygwin的安装出的问题很多,而且下的文件大,网路连接不稳定,所以需要小心,即使一些步骤是不必要的,但还是要一步步按这个记录来:

这次下载的版本是32位,到 https://cygwin.com/setup-x86.exe 下载,要新建一个文件夹如cygwin, 将setup-x86.exe放在里面,同时要保订全路径中没有空格,就连电脑名和用户名也不该出现空格(这点在User's Guide有明确提到)。

若有杀毒软件则应关上,但Win8自带的就不用关了,同时以管理员身份运行。

在选则下载方式上,当然应该选则下载到本地,因为可以备份,至于下载位置的选择当然是上面那个cygwin。

在镜像的选择上应该选择http://mirrors.ustc.edu.cn/cygwin/(这是官方mirror list中列出的中国镜像,一共就两个,另一个还打不开,但它在今天中午时的下载时速度达到400k的极值),注意不要在这里复制再手动添加,应在那个引导程序中慢慢找(大概在中间),因为我不知道它的后是否应该加/cygwin,又或者还需加/x86{x86_64},尽管你加进去后显示的都一样为http://mirrors.ustc.edu.cn,但要是在setup.log中查看的话就会发现是有区别的。

我想在Cygwin中加装GCC工具包,可User's Guide中只说它在Devel目录中,但在Devil中有好多带包的名称中含GCC,所以我将整个Devel目录都下了,多次单击“default”使它变为“Install”即可。

这次下载完后它居然弹出一个窗口说下载未完成,心中不是滋味的点了”try agin”然后照样选择了那个镜像网址和整个Devel包,所幸这次它只用了几秒就下完了,而且显示下载完成。

最后安装就选择从本地安装,只是这个过程也花了快半小时。

最后下载的文件936M,安装后为4G。

版本:1.7.33        下载地址:链接: http://pan.baidu.com/s/1qWFN0YS 密码:wjjn

 

二、Cygwin常用命令

查看当前版本:cygcheck –version

进入Windows文件目录:cd /cygdrive/c/……

快速进入深层目录:①编辑 ./.bashrc, 在其后加入export desk=/cygdrive/your/path         ②然后在bash中输入 cd $desk 就行了。

快速返回上一目录:cd -        (这是因为 -在此处等同于 $OLDPWD变量)

pushd:切换到作为参数的目录,并把原目录和当前目录压入到一个虚拟的堆栈中
                如果不指定参数,则会回到前一个目录,并把堆栈中最近的两个目录作交换
popd: 弹出堆栈中最近的目录
dirs:       列出当前堆栈中保存的目录列表

快捷键:

  • Ctrl + a :移到命令行首
  • Ctrl + e :移到命令行尾
  • Ctrl + f :按字符前移(右向)
  • Ctrl + b :按字符后移(左向)
  • Alt + f :按单词前移(右向)
  • Alt + b :按单词后移(左向)
  • Ctrl + xx:在命令行首和光标之间移动
  • Ctrl + u :从光标处删除至命令行首
  • Ctrl + k :从光标处删除至命令行尾
  • Ctrl + w :从光标处删除至字首
  • Alt + d :从光标处删除至字尾
  • Ctrl + d :删除光标处的字符
  • Ctrl + h :删除光标前的字符
  • Ctrl + y :返回到上一状态
  • Alt + c :从光标处更改为首字母大写的单词
  • Alt + u :从光标处更改为全部大写的单词
  • Alt + l :从光标处更改为全部小写的单词
  • Ctrl + t :交换光标处和之前的字符
  • Alt + t :交换光标处和之前的单词
  • Alt + Backspace:与 Ctrl + w 相同类似,分隔符有些差别 [感谢 rezilla 指正]

 

三、GCC编译C语言

注意GCC的标准和标准C不同,但GCC可支持标准C,如对下面这个程序:sort.c

#include <stdio.h>
int main()
{
   
int a[] = {9, 8, 7, 6, 5, 4, 3, 2, 1};
   
int n = 9;
   
int i, j, temp;
   
for (i = 0; i < n; i++)
       
for (j = n-1; j > i; j--)
           
if (a[j] < a[j-1])
            {
                temp
= a[j];
                a[j]
= a[j-1];
                a[j
-1] = temp;
            }
   
for (int k = 0; k < n; k++)
        printf (
"%d ", a[k]);
}

1

还有用这样的方式编辑出的文件只能在cygwin中进行,若在windows中直接运行会显示找找不到cygwin1.dll,解将方法:将/bin/cygwin1.dll复制到exe文件所在目录下,或将"C:\Cygwin\bin"加入到path环境变量。(网上有说用regsvr32注册这个dll的,但不知为什么不行,注册时总会出现异常)

posted @ 2014-12-11 16:02  cnsealine  阅读(188)  评论(0编辑  收藏  举报