资源描述:
《windows下编写一个控制台应用程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验概述【实验目的及要求】1.在windows下编写一个控制台应用程序,命名为an_ch2_lbo这个程序不断地输出如下行:Thoseoutputcomefromchild,[系统时间]另外写一个控制台应用程序,命名为an_ch2_lao这个程序创建一个子进程,执行an_ch2lbo这个程序不断地输出如下行:Thoseoutputcomefromchild,[系统时间]观察程序运行的结果,并对你看到的现象进行解释。你如何修改程序使得两个进程的输出出现在两个不同的控制台窗口上?2.在windows环境下编写一
2、个控制台应用程序,输出系统中正在运行的进程的信息,包括进程号、进程所运行的程序、进程的启动时间、在核心态下消耗的时间以及在用户态下消耗的时间。3.在windows环境下编写一个控制台应用程序,程序中有一个共享的整型变量shared_var,初始值为0;创建一个线程并使其立即与主线程并发执行。新创建的线程与主蚕程均不断地循环,并输出shared_var的值。主线程在循环中不断地对shared_var进行加1操作,即每次循环sharedvar被加1;而新创建的线程则不断地对sharedvar进行减1操作,即每次
3、循环sharedvar被减1。观察程序运行的结果,并对你看到的现象进行解释。【实验环境】硬件:CPU:IntelPentiumMprocessor1.60GHZ软件:windowsxp,vc6.0实验内容【实验过程】(实验步骤、记录、数据、分析)1主要代码:程序an_ch2_lb#include”windows.h”#includevoidmain(intargc,char*argv[]){STARTUPINFOsi={sizeof(si)};PROCESSINFORMATIONpi;Cre
4、ateProcess(Hf:\mydocumentsWstudyWoperationsystems\ar_ch_1b\Debug\ar_ch_1b.exe",L漫执行的子程序路径NULL,/存程序的命令行参薮NULL,//NULL,//FALSE,//0,NULL,//NULL,//SYSTEMTIMEsys;for(inti=0;iv500;i++){GetSystemTime(&sys)://得到当前的系统时间printf(”Thoseoutputcomefromnode,currenttime
5、is%4d/%02d/%02d%02d:%02d:%02d.%03dM,sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute,sys.wSecond,sys.wMMiseconds,sys.wDayOfWeek);程序an_ch2_lbinclude"windows.hH#includevoidmain(intargc,char*argv[]){SYSTEMTIMEsys;for(inti=0;iv500;i++){GetSystemTi
6、me(&sys);printf(HThoseoutputcomefromchild,currenttimeis%4d/%02d/%02d%02d:%02d:%02d.%03dM,sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute,sys.wSecond,sys.wMilliseconds);运行结果:Thoseoutputcomefromnode,currenttimeis2008/10/2807:45:39.703Thoseoutputcomefro
7、mnode,currenttimeis2008/10/2807:45:39.703Thoseoutputcomefromnode,currenttimeis2008/10/2807:45:39.703Thoseoutputcomefromnode,currenttimeis2008/10/2807:45:39.703Thoseoutputcomefromnode,currenttimeis2008/10/2807:45:39.703Thoseoutputcomefromnode,currenttimeis2
8、008/10/2807:45:39.703Thoseoutputcomefromnode,currenttimeis2008/10/2807:45:39.703Thoseoutputcomefromnode,currenttimeis2008/10/2807:45:39.703Thoseoutputcomefromnode,currenttimeis2008/10/2807:45:39.703Thoseoutpu