- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 归并算法
#include using namespace std;#define N 10void merge(int a[], int first, int mid, int end, int tmp[]){ int arr_one_first = first; int arr_one_end = mid; int arr_two_first = mid + 1; int ar
2015-05-31 16:14:15 255
原创 快速排序
#include using namespace std;#define N 10int a[N] = {3,2,1,9,4,5,7,6,0,8};void quick(int left, int right){ int sign = a[left]; int i = left; int j = right; if(left > right) return ; while
2015-05-26 20:48:52 230
原创 linux下的poll函数
poll调用和select调用实现的功能一样,都是网络IO利用的一种机制。需要的的库#include int poll(struct pollfd fds[], nfds_t nfds, int timeout);struct pollfd { int fd; short events; short revents; };
2015-05-25 23:13:44 558
原创 linux下的select函数
该函数允许进程指示内核等待多个事件的任何一个发生,并且只在有一个或多个事件发生或经历一段指定的时间后才能唤醒。需要的库#include #include int select(int maxfdp1, fd_set *readset, fd_set *write, fd_set *exceptest, const, struct timeval 8timeout);
2015-05-25 18:34:46 340
原创 linux信号量
什么是信号量?为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信号量是用来调协进程对共享资源的访问的。
2015-05-24 12:01:13 324
原创 linux下C/C++库的创建
库是目标文件的一个集合。作用是对于一些目标文件针对给定的问题有相互关联的行为,那么就可以把这事目标文件整合到一个库中,从而简化应用程序开发人员对这些目标文件的存取和分发。 以下使用随机数说明,需要初始化,返回一个有上限的数。先创建initRand.c初始化#include #include void initRand(){ time_t seed;
2015-05-24 11:28:00 414
原创 linux信号集
信号集是将多个信号放在集合中进行集中的处理。int sigemptyset(sigset_t *set);将set集合置空int sigfillset(sigset_t *set);将所有信号加入set集合int sigaddset(sigset_t *set,int signo);将signo信号加入到set集合int sigdelset(sigset_t *set,
2015-05-24 10:18:52 295
原创 linux信号简单编程
#include#include#includevoid getsign(int signo){ if (signo == SIGUSR1) printf("recevied SIGUSR1\n"); else if (signo == SIGUSR2) printf("received SI
2015-05-23 17:25:00 280
原创 gdb测试
(1)gcc -g test.c -o test-g 告诉编译器在映射中包含调试信息。(2)启动gdbgdb test(3)查看list如list 10 20 显示第10行到第20行代码(4)设置断点breakbreak设置方法break function //在函数上设置一个断点break file:function //在指定文件的函数设置一
2015-05-23 17:07:00 559
转载 Linux信号详解
我们运行如下命令,可看到Linux支持的信号列表:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV
2015-05-23 16:02:09 277
转载 wait和waitpid的区别
#include pid_t wait(int *statloc);pid_t waitpd(pid_t pid, int *statloc, int options);pid_t wait(int *status) 进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就
2015-05-23 15:38:06 3178
转载 linux下的make
.SUFFIXES:.c.oCC=gccSRCS=cli1.cOBJS=$(SRCS:.c=.o)EXEC=$(SRCS:.c=)start: $(OBJS) $(CC) -o $(EXEC) $(OBJS).c.o: $(CC) -o $@ -c $clean: rm -f $(OB
2015-05-22 11:01:16 327
转载 网络字节转换inet_aton、inet_nota、inet_addr
int inet_aton(const char *cp, struct in_addr *inp);char *inet_ntoa(struct in_addr in);in_addr_t inet_addr(const char *cp);inet_aton() 转换网络主机地址cp为二进制数值,并存储在struct in_addr结构中,即第二个参数*inp,函数返回
2015-05-19 20:15:28 1174
转载 linux下的高级文件编程
测试文件类型#include #include int main( int argc, char *argv[] ){ struct stat statbuf; if (argc < 2) { printf("please input a file paraster\n"); return 1; } if
2015-05-19 10:42:39 318
原创 linux下安装Oracle
以red hat 6.3 举例1.需要先安装其他包rpm -ivh 包compat-libstdc++-33-3.2.3-69.el6.i686.rpmelfutils-libelf-devel-0.152-1.el6.i686.rpmlibstdc++-devel-4.4.6-4.el6.i686.rpmgcc-c++-4.4.6-4.el6.i686.rpm
2015-05-06 17:48:20 265
原创 linux编程mysql
使用mysql的root登入后设置mysql -u root -p先创建新的数据库create database db1;建立db数据库的用户grant all on.* to dbuser1 identified by '123456';退出quit使用新用户登入mysql -u dbuser1 -puse db1create table table3
2015-05-04 17:22:23 166
原创 linux登入mysql
1.先卸载linux原有的mysql查看是否安装了mysqlrpm -qa| grep mysqlrpm -e --nodeps 包名最后再卸载库rpm -e mysql-libs --nodeps2.安装rpm -ivh 包名MySQL-client.... 客户端连接模板MySQL-devel.... 开发使用模块MySQL-server.
2015-05-04 16:44:22 333
FTP客户端设计文档.doc
2015-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人