- 博客(26)
- 资源 (7)
- 收藏
- 关注
原创 聊天室客户端应用程序
#include #include #include #include #include #include #include #include #include #include #include //定义全局的socket文件描述符int sockfd;//初始化socketvoid init();//启动客户端void start();// 销毁客户端vo
2014-04-29 01:22:11 1299
原创 linux 调用系统函数来实现 ATM 自动取款机功能 (进程间通信)
ATM取款机功能包含7个操作:(1)开户(2)销户(3)存款(4)取款(5)查询(6)转账(7)退出然后定义客户端和服务器端 进行在linux操作系统下 进程间的通信
2014-04-22 01:55:04 1840
原创 linux 实现 ATM 自动取款机功能 (进程间通信)
ATM取款机功能包含7个操作:(1)开户(2)销户(3)存款(4)取款(5)查询(6)转账(7)退出然后定义客户端和服务器端 进行在linux操作系统下 进程间的通信
2014-04-22 01:50:13 1919 1
原创 C/C++ 在网络下的编程的应用(时间同步器)
写一个基于UDP的时间服务器。 时间服务器提供的功能就是: 当客户端发送请求时,发回当前的系统时间。时间服务器要写成死循环,用信号退出。 提示:系统时间找 time() 获得秒差,函数localtime()负责把秒差转成 年月日小时分秒的格式,返回给客户端。localtime()返回时间的结构体指针 struct tm,具体成员 在localtime的手册中可以看到。简介: 采
2014-04-20 17:26:16 3912
原创 signal,vfork,execl 三个linux库函数的使用
#include #include #include #include #include #include void fa(int num){ printf("cath the number %d\n",num);}int main(void){ pid_t pid = vfork(); signal(SIGINT,SIG_IGN); signal(SIGQUIT,fa)
2014-04-12 00:46:20 1009
原创 wait函数在fork创建子进程后的使用
wait函数是返回任意一个子进程的status的值和pid,宏定义WIFEXITED 是判断子进程是否正确返回。WEXITSTATUS是来判断他的STATUS的状态值。#include #include #include #include #include int main(void){ pid_t pid = fork(); if (!pid){ printf("
2014-04-12 00:22:14 760
原创 waitpid对fork产生多进程的使用
waitpid在父进程中可以等制定pid的子进程运行完结后再运行,此时父进程会产生阻塞#include #include #include #include #include int main(void){ pid_t pid = fork(); if(!pid){ printf("I am the child process.\n"); sleep(2);
2014-04-12 00:21:39 777
原创 waitpid对fork产生多进程的使用
waitpid在父进程中可以等制定pid的子进程运行完结后再运行,此时父进程会产生阻塞#include #include #include #include #include int main(void){ pid_t pid = fork(); if(!pid){ printf("I am the child process.\n"); sleep(2);
2014-04-12 00:20:54 694
原创 wait函数在fork创建子进程后的使用
wait函数是返回任意一个子进程的status的值和pid,宏定义WIFEXITED 是判断子进程是否正确返回。WEXITSTATUS是来判断他的STATUS的状态值。#include #include #include #include #include int main(void){ pid_t pid = fork(); if (!pid){ printf("
2014-04-12 00:20:32 927
原创 waitpid对fork产生多进程的使用
waitpid在父进程中可以等制定pid的子进程运行完结后再运行,此时父进程会产生阻塞#include #include #include #include #include int main(void){ pid_t pid = fork(); if(!pid){ printf("I am the child process.\n"); sleep(2);
2014-04-12 00:19:49 748
原创 wait函数在fork创建子进程后的使用
wait函数是返回任意一个子进程的status的值和pid,宏定义WIFEXITED 是判断子进程是否正确返回。WEXITSTATUS是来判断他的STATUS的状态值。#include #include #include #include #include int main(void){ pid_t pid = fork(); if (!pid){ printf("
2014-04-12 00:18:05 724
原创 wait函数在fork创建子进程后的使用
wait函数是返回任意一个子进程的status的值和pid,宏定义WIFEXITED 是判断子进程是否正确返回。WEXITSTATUS是来判断他的STATUS的状态值。#include #include #include #include #include int main(void){ pid_t pid = fork(); if (!pid){ printf("
2014-04-12 00:16:47 829
原创 wait函数在fork创建子进程后的使用
wait函数是返回任意一个子进程的status的值和pid,宏定义WIFEXITED 是判断子进程是否正确返回。WEXITSTATUS是来判断他的STATUS的状态值。通过man fork 从手册中可以查到fork所有的详尽的用法#include #include #include #include #include int main(void){ pid_t pi
2014-04-12 00:13:31 1393
原创 wait函数在fork创建子进程后的使用
wait函数是返回任意一个子进程的status的值和pid,宏定义WIFEXITED 是判断子进程是否正确返回。WEXITSTATUS是来判断他的STATUS的状态值。通过man fork 从手册中可以查到fork所有的详尽的用法#include #include #include #include #include int main(void){ pid_t pi
2014-04-12 00:12:34 790
原创 linux下通过调用fork函数实现多进程
#include #include #include #include int main(void){ pid_t pid = fork(); if(!pid){ printf("the id of Children is %d\n",getpid()); printf("the id of Parents is %d\n",getppid()); exit(0
2014-04-11 01:21:14 2023
原创 linux 下 opendir 和 readdir 函数的应用
#include #include #include #include #include #include void printall(const char *path, int max){ DIR *dir = opendir(path); if (dir == NULL){ return ; } struct dirent *dirent
2014-04-09 23:21:13 1158
原创 sbrk 和brk 函数使用举例
#include #include int main(){ int *p1,*p2,*p3,*p4,*p5,*p6; p1 = (int *)sbrk(sizeof(int));//Rxxx ---- ---- ---- *p1 = 1; printf("%d\n",*p1); printf("%p\n",p1); p2 = (int *)sbrk(sizeof(
2014-04-03 00:47:51 1487
原创 brk和sbrk的虚拟内存的管理
void *sbrk(int size)-size = 0 返回sbrk/brk 上次的末尾地址-size > 0 分配内存空间,返回上一次末尾地址-size int brk(void *ptr) -直接修改访问的有效范围的末尾地址 -释放空间形成一个完整的page,则该页映射被解除 - 返回 0 返回成功 -1 失败 注意: sbrk 是在开辟
2014-04-03 00:29:49 1034
原创 gdb调试工具的使用
突然发现gdb的调试工具还是蛮好用的,下面给大家介绍下gdb调试工具的基本使用方法要用gdb需要在用gcc编译源文件时加上 gcc -g main.c然后就可以直接调用gdb对生成的a.out文件进行调试了,可以调用出他的符号表和调试信息gdb a.out然后 l 是显示代码b 行号 是在此行号设置断点r restart 重新运行次函数s 跳
2014-04-02 01:00:00 1381
原创 linux下动态链接库的使用
(1)gcc -c -fpic add.c sub.c(2)gcc -shared add.c sub.c -o libmath.so(3)gcc main.c -ldl就可以产生动态链接的结果了让我写下使用动态链接库的几个函数吧void * dlopen(const char *filename, int flag);filename 是动态链接库的名字flag的值是
2014-04-02 00:43:19 795
原创 linux下构建静态库的方法
1.编写.c 和.h 文件我写了4个add.c#include "add.h"int add(int a,int b){ return a+b;}add.h#ifndef __ADD_H__#define __ADD_H__int add(int, int);#endifsub.c#include"sub.h"int sub(int a,i
2014-04-01 01:09:28 878
原创 库函数qsort的实现
实现全能的qsort,既能实现结构体排序,又能排int,double,等等错误的原因是没有考虑到自己定义的cmp函数的返回值是0 和1 main.c#include "qsort.h"int cmp(const void *p1, const void *p2){ return *(int *)p1 < *(int *)p2;}void show(int size,int a
2014-04-01 00:38:33 1016
2012 Maryland High School Programming Contest
2013-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人