博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cygwin模拟器安装及案例使用
阅读量:4104 次
发布时间:2019-05-25

本文共 2562 字,大约阅读时间需要 8 分钟。

Cygwin模拟器安装及使用

这里和大家分享我安装时参考的一篇文章:
上链接:
这里只需要按照上面这篇文章的指导到官网下载安装包即可,安装过程补充说明一点。
选择安装插件时选择一下几个以防不能正常使用模拟器。
在这里插入图片描述
然后安装完成即可。
下面通过几个案例来展示一下。
在这里插入图片描述
在桌面建立一个实验1的文件夹,编辑一个c语言写的源文件。实验1.1
在这里插入图片描述
在这里插入图片描述
打开模拟器,跳转到指定文件目录
在这里插入图片描述
执行编译好的文件,运行代码编译好的目标文件
在这里插入图片描述

**

【代码及案例】

**

每个进程都执行自己独立的程序,打印自己的pid,每个父进程打印其子进程的pid;
在这里插入图片描述

1.#include"stdio.h"2.#include"unistd.h"3.int main (){
4. pid_t fpid;5. fpid=fork();6. if ( fpid < 0 )//出错7. printf("error!");8. else if ( fpid == 0 )//子进程9. {
10. fpid=fork();11. if( fpid < 0)//出错12. printf("error!");13. else if ( fpid == 0 )//二级子进程 (子2) 14. printf("\n子2pid : %d.",getpid() );15. else//一级子进程(子1) 16. printf(" 子1pid : %d, 其子节点 pid : %d.",getpid(),fpid);17. } 18. else//父进程19. {
20. printf("父 pid : %d, my child process' pid is %d.\n",getpid(),fpid);21. }22.return 0;23.}

在这里插入图片描述

2.每个进程都执行自己独立的程序,打印自己的pid,父进程打印其子进程的pid;
在这里插入图片描述

1.#include"stdio.h"2.#include"unistd.h"3.int main ()4.{
5. pid_t fpid;6. pid_t hpid;7. fpid=fork();8. if ( fpid < 0 )//出错9. printf("error!");10. else if ( fpid == 0 )//子进程111. {
12. printf("子1pid : %d.\n",getpid() );13. }14. else//父进程15. {
16. hpid=fork();17. if ( hpid < 0 )//出错18. printf("error!");19. else if ( hpid == 0 )//子进程220. printf("子2pid : %d.\n",getpid() );21. else//父进程22. printf("父pid : %d.\n 其子1pid : %d.\n 其子 2pid : %d.",getpid(),fpid,hpid);23. }24. return 0;25.}

在这里插入图片描述

3.编写一个命令处理程序,能处理max(m,n), min(m,n)和 average(m,n,l)这几个命令。(使用exec函数族)
主要入口代码

1.#include"stdio.h"2.#include"stdlib.h"3.#include"string.h"4.#include"unistd.h"5.int main(){
6. char function[10];7. printf("$ ");8. scanf("%s",function);9. if(strcmp(function,"min")==0)10. {
11. execl("/min","min",NULL);12. }13. else if(strcmp(function,"max")==0)14. {
15. execl("/max","max",NULL);16. }17. else if(strcmp(function,"ave")==0)18. {
19. execl("/ave","ave",NULL);20. }21. else22. printf("error!");23. return 0;24.}

min:

1.int main(){
2. int a,b,min;3. printf("请输入俩个数字:\n");4. scanf("%d %d",&a,&b);5. min=a

max:

1.int main()2.{
3. int a,b,max;4. printf("请输入俩个数字\n");5. scanf("%d %d",&a,&b);6. max=a>b?a:b;7. printf("大数是: %d\n",max);8.}

avg:

1.int main(){
2. float a,b,c,ave;3. printf("请输入3个数字:\n");4. scanf("%f %f %f",&a,&b,&c);5. ave=(a+b+c)/3;6. printf("平均数是: %.2f\n",ave);}

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

转载地址:http://jufsi.baihongyu.com/

你可能感兴趣的文章
题目22: 素数求和问题
查看>>
题目23: 取石子(一)
查看>>
题目17: 单调递增最长子序列
查看>>
题目24: 素数距离问题
查看>>
题目40: 公约数和公倍数
查看>>
题目20: 吝啬的国度
查看>>
SQL 多条件查询
查看>>
题目16: 矩形嵌套
查看>>
用HTML5 Audio API开发游戏音乐
查看>>
Web开发者应掌握的12个Firebug技巧
查看>>
西电计算机研究生复试上机题
查看>>
题目1159: 单词替换
查看>>
myeclipse 编辑JS很慢的解决办法
查看>>
Mysql net start mysql启动,提示发生系统错误 5
查看>>
Mysql常用命令行大全
查看>>
Java 常见错误
查看>>
UVA 题目11292 Dragon of Loowater
查看>>
UVA 题目11729 - Commando War
查看>>
Spket的配置和安装
查看>>
UVA 题目401 - Palindromes
查看>>