linux GTK 多进程

本文介绍了一个C程序示例,该程序利用Linux下的GTK图形库创建多进程应用程序,每个进程在独立的窗口中运行。通过三个不同的文件实现:threeProc.c用于创建和管理进程,procBar.h创建子进程窗口,showImage.h则负责展示畸形窗口。编译程序需注意使用特定的GCC命令和GTK库。提供源代码和图片文件下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内容:编写一个C程序,使用Linux下的图形库,分窗口显示三个并发进程的运行。

一个linux下多进程的实例,同时练习GTK编程。

分三个文件,分别是创建进程到主函数threeProc.c、建立子进程窗口的函数procBar.h和另外一个畸形窗口创建函数showImage.h。

实验过程:编辑源程序,将三个源程序和一个图片置于一个文件夹中,执行如下命令:

注意命令:gcc -o sb *.c `pkg-config --cflags --libs gtk+-2.0`

        编译命令中使用的单引号类型是很重要的。这里使用了“命令替换”。
命令替换(command substitution)使得可以捕获一个命令的输出而在另一个命令中替换它。
这个单引号不是回车键左边的那个,而是ESC键下面的那个。



源程序及图片文件:(也可以直接打包下载:http://download.youkuaiyun.com/detail/creazyapple/4088119


/*
 *  threeProc.c
 *  SystemMonitor
 *  Created on: 2012-2-22
 *      Author: zhushengben
 * Create threee processes ,
 * Each process have it's own window , and just simply show a lab
 * All the processes are synchronic.
 * Authored by ZhuShengben hust
 * 2012.2.14
 */
#include <stdio.h>
#include <unistd.h>
#include <gtk/gtk.h>
#include "proBar.h"
#include "showImage.h"
/*
 * 如果你的 "delete_event" 信号处理函数返回 FALSE,GTK 会发出 "destroy" 信号。
 */
gint delete_event(GtkWidget *widget, GdkEvent *event, gpointer data)
{
	/* 打印信息 */
	//	g_print("delete event occurred\n");
	gtk_main_quit();
	//	return (TRUE);
}
/* destroy a window
 * 另一个回调函数 */
void destroy(GtkWidget *widget, gpointer data)
{
	gtk_main_quit();
}

void initProcWind(int argc, char *argv[], char *pst)
{
	/* GtkWidget 是构件的存储类型 */
	GtkWidget * window
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值