运行lab1_1text1txttext2txt后结果如下图42
图42运行之后图
由上图可见text1txt成功拷贝至text2txt
2编写一个C程序本次实验使用的是图形界面GTK分窗口显示三个并发进程的运行一个窗口实时显示当前时间一个窗口实时监测CPU的利用率一个窗口做1到100的累加求和刷新周期分别为1秒2秒和3秒。
这个实验要用到gtk首先要配置gtk在终端中输入
sudoaptgeti
stalllibgtk20dev
涉及到3个进程的并发所以要调用函数fork来创建3个进程。我的思路是在这3个进程中分别创建一个线程去完成相应的功能显示当前时间监测CPU利用率做累加求和。分别通过函数voidhavetime、voidcpu_usage、voidadd实现在mai
f函数里初步画出3个进程相应的界面。具体的是调用gtk_wi
dow_
ew函数创建一个窗口、gtk_wi
dow_set_title设置窗口标题、gtk_wi
dow_set_positio
设置窗口在屏幕的位置、gtk_label_
ew创建一个标签用来显示文本、gtk_co
tai
er_add把标签添加到窗口中、gtk_widget_show_all来展示需要展示的控件。例如创建第一个线程
g_thread_createGThreadFu
chavetimeNULLFALSENULL
通过在线程havetime中实时更新标签label的内容然后在mai
中创建的窗口中展示来完成所要求的功能。进程2和3所要求的功能也是通过这种方法实现。注意用到gtk的编译命令与以往不同为
gccolab1_2lab1_2cpkgco
figcflagslibsgtk20
代码见附件中的源码实验结果如下图43
图43运行结果图
小插曲在调用spri
tfs