摘要: nameageyjh23zhong21bin23chao240、建立表create table student(id int(10) auto_increment primary key,name varchar(10) not null,birth year not null,department varchar(10) not null,address varchar(10) not null);格式是 列名 类型(长度) , 记得increment的拼写,不是increasement。 是varchar不是vchar插入数据insert into student values(null, 阅读全文
posted @ 2013-07-18 21:15 iyjhabc 阅读(1116) 评论(0) 推荐(0) 编辑
摘要: 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。1不是素数。一个非素数可以由几个素数因子相乘得到,这些因子一定小于这个数的开方,因此可通过这个性质求素数:void slow(int n){ int i; for(i=2;i<=n;++i){ int flag=1; for(int j=2;j<=sqrt(i);++j){ if(i%j==0){ flag=0; break; } } i... 阅读全文
posted @ 2013-07-15 21:17 iyjhabc 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 4种强制类型转换:dynamic_cast:(1)子类向父类的转换,必定成功。如A是B的父类,A *pa=dynamic_cast=new B。(2)父类指针像子类指针转换,则遵循多态原则:如父类指针指向父类则返回NULL;如父类指针指向子类,则返回子类指针,转换成功。class A{public: virtual void f(){ cout(pa); if(pb){//cast success pb->fb();//fb不是虚函数,不能使用动态绑定来选择 }else{ pa->fa();//fa也不是虚函数 }}static... 阅读全文
posted @ 2013-07-06 10:58 iyjhabc 阅读(329) 评论(0) 推荐(0) 编辑
摘要: LINUX下进程间通信的方式主要有:管道、有名管道、消息队列、信号量、共享内存,此外还有信号和套接字。管道只能用于亲缘进程(如父子进程)的通信。有名管道可用于非亲缘进程通信。信号量主要用于同步(线程同步与进程同步分别用两组函数操作信号量)。消息队列克服了信号量传递信息少、管道只能传送无类型字节流的弱点。信号类似于软件中断,用于事件通知。共享内存是最快的IPC方式,配合其他方式使用(一般是配合信号量)。1、管道管道是单向的传输方式,创立管道后系统分配一定大小的缓冲区,数据从输入管道进入缓冲区的头位置,输出管道从管道的未位置取出数据。fd[0]为读管道,fd[1]为写管道,读前关闭写管道,写前关闭 阅读全文
posted @ 2013-07-02 16:06 iyjhabc 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 信号是一种软件中断,也是进程间唯一的异步通信方式。信号可通过硬件发送,如键入CTRL+C,或者程序发送。软件可通过signal函数捕捉信号,针对信号编写信号处理函数,进行异步操作。在终端可用kill命令发送信号。信号有优先级,高优先级的首先处理。1、signal(int signum,void (*f)(int))第一个参数为需要处理的信号,第二个参数为信号处理函数的指针。函数要求必须含一个int参数和返回void。#include "signal.h"void sig_process(int sig_no){ printf("signal has been re 阅读全文
posted @ 2013-07-02 11:38 iyjhabc 阅读(1949) 评论(0) 推荐(0) 编辑
摘要: 进程是正在运行的程序,是系统分配资源的单位。使用ps命令可以查看系统正在运行的进程。1、创建进程fork()fork()函数可以创建一个子进程。程序从调用fork时开始分叉为两个进程,因此fork函数返回两次,一次返回0,表示子进程正在运行,一次返回子进程的PID。当进程创建失败,返回-1 pid_t id; id=fork(); switch(id){ case 0: printf("son process is running\n"); break; case -1: printf(... 阅读全文
posted @ 2013-06-30 17:10 iyjhabc 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 使用gdb可以在命令行方便地调试,并且能以命令程序的方式调试源代码。常用命令简写print-p,step-s,next-n进入gdb//方式一gdb test//test 为可执行文件,使用-g编译得到//方式二gdb -q //不显示版权信息file test //file命令打开文件退出gdbquit //退出命令显示源代码list//显示最初10行list get_sum//显示函数list 5,10//显示5到10行list//再次用list,显示接下来11~20行list test.c:get_sum//多文件工程时,显示test.c的函数查找search 字符串//向后查找第一个匹 阅读全文
posted @ 2013-06-30 16:27 iyjhabc 阅读(265) 评论(0) 推荐(0) 编辑
摘要: UDP属于非连接传输,因此不需要进行连接操作,直接可根据IP地址与端口发送数据服务器端:char buf[1024]; int i=0; int fd = socket(AF_INET,SOCK_DGRAM,0); struct sockaddr_in dest_addr; bzero(&dest_addr,sizeof(dest_addr)); socklen_t addrlen; dest_addr.sin_family=AF_INET; dest_addr.sin_port=htons(10... 阅读全文
posted @ 2013-06-26 20:08 iyjhabc 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 简介:使用makefile记录项目各个文件的依赖关系,make程序会根据依赖关系从底层开始执行编译命令,最后生成最终目标文件。使用makefile可以方便编译多个相互依赖的源文件最终生成目标文件。makefile格式:makefile以命令为单位组成,2行组成一个命令。第一行冒号前的是本命令的目标生成文件,冒号后面是依赖文件。第二行是生成目标文件需要执行的指令,注意指令前要空TAB。file:file1.o file2.o 附属行(文件的依存关系) gcc -o file1.o file2.o 命令行file1.o:file1.c ... 阅读全文
posted @ 2013-06-26 16:11 iyjhabc 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 1、常用函数介绍int socket(int domain,int type,int protocol);/*domain:AF_INET设为IPV4type:SOCK_STREAM对应TCP,SOCK_DGRAM对应UDPprotocol:设0返回值:返回一个套接字,失败返回-1*/int bind(int sockfd,struct sockaddr *my_addr,int addrlen);/*sockfd:由socket()调用返回的需要绑定的套接字my_addr:sockaddr类型的地址addrlen:sizeof(sockaddr)。返回值:成功返回0;失败返回-1*/stru 阅读全文
posted @ 2013-06-25 17:47 iyjhabc 阅读(716) 评论(0) 推荐(1) 编辑