APUE
文章平均质量分 50
wangyifei0822
积极,乐观,上进
展开
-
程序执行make时出现的错误calling fdopen: Bad file descriptor错误解决
calling fdopen: Bad file descriptor 删除目录下的 . gch就可以了,呵呵原创 2008-04-06 10:38:00 · 2082 阅读 · 5 评论 -
gtk响应其他窗口时间程序实现方法
while (gtk_events_pending()) gtk_main_iteration();响应其他窗口时间原创 2008-04-21 09:46:00 · 470 阅读 · 0 评论 -
gtk录入对话框源程序
GtkWidget *dialog;void okCall(GtkWidget * button,gpointer data)...{ char *string = gtk_entry_get_text(GTK_ENTRY((GtkWidget *)data)); bzero(servConfFilePath,sizeof(servConfFilePath));原创 2008-04-21 16:25:00 · 582 阅读 · 0 评论 -
make[2]: 警告:检测到时钟错误。您的创建可能是不完整的。
今天看系统的时间好似不对,就改了一下,结果下午来了编译毕设程序就出现了make[2]: 警告:检测到时钟错误。您的创建可能是不完整的。汗~貌似内核时间和源程序的时间冲突,源代码的时间戳比本机的时间更新可以用touch 命令把源程序的时间戳改一下find -exec touch {} /;原创 2008-04-28 15:51:00 · 2925 阅读 · 0 评论 -
gtk多线程编程用例
#include gtk/gtk.h> static GtkWidget *fixed; static GtkWidget *button1; static GtkWidget *button2; int running = 1;void our_thread1(GtkWidget *button) ...{ gint x,y,towards; x=40; y=40; towards=原创 2008-04-22 19:57:00 · 4900 阅读 · 3 评论 -
系统设计之 网络模型(一)基础篇
全文针对linux环境。tcp/udp两种server种,tcp相对较复杂也相对比较常用。本文就从tcp server开始讲起。先从基本说起,看一个单线程的网络模型,处理流程如下:socket-->bind-->listen-->[accept-->read-->write-->close]-->close[]中代码循环运行,[]外的是对监听socket的处理,[]内的是对accept返回转载 2008-05-03 12:43:00 · 741 阅读 · 0 评论 -
系统设计之 网络模型(二)
本章主要列举服务器程序的各种网络模型,示例程序以及性能对比后面再写。一、分类依据。服务器的网络模型分类主要依据以下几点(1)是否阻塞方式处理请求,是否多路复用,使用哪种多路复用函数(2)是否多线程,多线程间如何组织(3)是否多进程,多进程的切入点一般都是accept函数前二、分类。首先根据是否多路复用分为三大类:(1)阻塞式模型(2)多路复用模型(3)实时信号模型三、详细分类。1、阻塞式模型根据是转载 2008-05-03 12:45:00 · 779 阅读 · 0 评论 -
系统设计之 网络模型(三)多路复用模型
多路复用的方式是真正实用的服务器程序,非多路复用的网络程序只能作为学习或着陪测的角色。本文说下个人接触过的多路复用函数: select/poll/epoll/port。kqueue的*nix系统没接触过,估计熟悉了上面四种,kqueue也只是需要熟悉一下而已。一、select模型select原型:int select(int n, fd_set *readfds, fd_set *writef转载 2008-05-03 12:46:00 · 731 阅读 · 0 评论 -
利用TCP三次握手协议攻击的源程序
/**//******************** DOS.c *****************/#include sys/socket.h>#include netinet/in.h> #include netinet/ip.h>#include netinet/tcp.h>#include stdlib.h>#include errno.h>#include unistd.h>#incl原创 2008-05-05 16:27:00 · 746 阅读 · 0 评论 -
gtk notebook用例(毕设中的一小段)
GtkWidget *textHttp,*textDNS;GtkWidget *addPage(GtkWidget *notebook,GtkWidget *text,char *protocol)...{ GtkWidget *label; GtkWidget *scrolled; GtkWidget *tbox; label = gt原创 2008-04-20 20:41:00 · 1211 阅读 · 0 评论 -
gnome小程序及makefile文件
#include stdlib.h>#include stdio.h>#include gnome.h>int main(int argc,char *argv[])...{ GtkWidget *app; gnome_program_init("testgnome1","1.0",LIBGNOMEUI_MODULE,argc,argv,NULL);原创 2008-04-13 22:18:00 · 549 阅读 · 0 评论 -
select小议ndfs描述符数
函数圆形:int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* errorfds, struct timeval *timeout);其中nfds是测试的描述符范围,测试从0-》nfds-1的描述符,其中宏FD_SETSIZE是内部定义的最大值原创 2008-04-06 22:10:00 · 429 阅读 · 0 评论 -
线程pthread程序编译时库文件的添加-L/usr/lib/-lpthread
编译线程程序时的错误解决: xjtu129@xjtu129-desktop:~/wz$ gcc testThread.c /tmp/ccKXccVy.o: In function `main:testThread.c:(.text+0x2b): undefined reference to `sem_inittestThread.c:(.text+0x6f): undefined refere原创 2008-04-05 10:07:00 · 1000 阅读 · 0 评论 -
ioctl(fd,FIONREAD,&nread) nread == 0
for (fd = 0;fd FD_SETSIZE;fd++)...{ if (FD_ISSET(fd,&testSet)) ...{ int nread; ioctl(fd,FIONREAD,&nread); if (nread == 0) ...{转载 2008-04-10 16:24:00 · 2280 阅读 · 0 评论 -
POSIX小程序
#include stdio.h>#include stdlib.h>#include string.h>#include unistd.h>#include pthread.h>#include semaphore.h>void *thread_function(void *arg);sem_t bin_sem;#define WORK_SIZE 1024char work_ar原创 2008-04-10 19:40:00 · 536 阅读 · 0 评论 -
设置socket为非阻塞和阻塞状态
设置socket为非阻塞 int flags = fcntl(SocketFd,F_GETFL,0); fcntl(SocketFd,F_SETFL,O_NONBLOCK|flags); 恢复阻塞状态: fcntl(SocketFd,F_SETFL,~O_NONBLOCK&flags); /*set the socket block*/原创 2008-04-10 09:24:00 · 860 阅读 · 0 评论 -
未使用链接器输入文件,因为链接尚未完成,错误解决方法
#include gtk/gtk.h>int main(int argc,char *argv[])...{ GtkWidget *window; gtk_init(&argc,&argv); window = gtk_window_new(GTK_WINDOW_POPUP); gtk_widget_show(window);原创 2008-04-12 14:51:00 · 6811 阅读 · 0 评论 -
一个简单的GTK+程序
#include gtk/gtk.h>#include stdlib.h>#include stdio.h>static int count = 0;void button_clicked ( GtkWidget *button, gpointer data)...{ printf("%s pressed %d times ",(char *)data,++count);}void c原创 2008-04-12 16:53:00 · 404 阅读 · 0 评论 -
write:: Bad file descriptor write:: Resource temporarily unavailable
char data[1000000]; //strcpy(data,"hahahahahahahha"); int i; for (i = 0;i 999000;i++) data[i] = a; int data_len原创 2008-04-10 10:23:00 · 1037 阅读 · 0 评论 -
qt信号signal和槽slot机制
内容: 一、概述 二、信号 三、槽 四、信号与槽的关联 五、元对象工具 六、程序样例 七、应注意的问题 相关资源 作者简介 作者:唐新华 (xhsmart@263.net) 软件工程师 信号与槽作为QT的核心机制在QT编程中有着广泛的应用,本文介绍了信号与槽的一些基本概念、元对象工具以及在实际使用过程中应注意的一些问题。 QT 是一个跨平台的C++ GUI应用构架,它提供了丰富的窗口部件集,具有面原创 2008-05-16 10:15:00 · 9406 阅读 · 7 评论