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