- 博客(142)
- 收藏
- 关注
转载 STL迭代器失效总结
转自:http://blog.csdn.net/hackbuteer1/article/details/7734382 http://m.blog.csdn.net/blog/xhu_eternalcc/38355619 迭代器(iterator)是一个可以对其执行类似指针的操作(如:解除引用(operator*())和递增(operator+...
2015-07-31 21:43:00 166
转载 DNS劫持和DNS污染的区别
转自:http://www.williamlong.info/archives/3356.html 我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致网民使用正常的上网设置无法通过域名解析出正确的IP地址。常用的手段有:DNS劫持和DNS污染。 什么是DNS劫持 DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进...
2015-07-29 18:31:00 160
转载 snprintf函数用法(转)
#include <stdio.h>int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n 的话,将不会溢出。函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。Res...
2015-06-17 19:23:00 176
转载 sql查询面试题
有表结构如下:CREATE TABLE students(name varchar(20),/*姓名*/age int,/*年龄*/sex varchar(10),/*性别*/classid int);/*与classes表的classid对应*/CREATE TABLE classes(classid int,/*班级ID,与students表中的classid对应*/name var...
2015-06-11 23:45:00 165
转载 linux获取主机信息
linux中主机的信息通常存储在/etc/hosts中,我们可以通过函数 gethostent读取该文件的信息。注意返回的struct hostent 结构体对象的地址是一块静态缓冲区,这个静态缓冲区的地址是固定的,当多次调用gethostent的时候,后面调用会把前面缓冲区内容覆盖掉,多次读取返回的指针指向的缓冲区的内容是一致的,这有助于防止没有释放内存而导致的内存泄漏。#includ...
2015-06-11 23:17:00 127
转载 linux网络通信中的地址形式转换
对于IPv4协议来说,ip是一个32位的整数,对于IPv6来说,ip是一个128位的整数。在内存中,ip都以二进制的形式存储,但是不易于观察,所以可以转化将其转化为点分十进制的表达形式。在linux中,提供了 ip二进制和点分十进制互相转化的函数:inet_ntop 将二进制转化为点分十进制,af表示使用的协议,AF_INET表示使用的是IPv4,AF_INET6表示使用的IPv6,...
2015-06-11 23:15:00 109
转载 printf函数编程小技巧
linux环境下printf函数的输出是先把输出内容放到缓冲区,等遇到换行符或者缓冲区满的时候才会输出:#include<stdio.h>int main(){ printf("hello|n"); printf("world!"); while(1); return 0;}运行结果:发现就是第一个hello输出了,第二个world并没有输出那么如果我们要使用这种格式的: i...
2015-06-11 23:13:00 145
转载 字节序转换以及判断字节序
在网络信息跨主机传输过程中,不同主机的字节序问题可能不同,因此必须进行字节序的转换。本地字节序--> 网络字节序 -->本地字节序字节序转换函数:htons和htonl是将本地字节序转换为网络字节序,htons是对16位整数进行转换,htonl是对32位正数进行转换,ntohs和ntohl恰好相反。判断主机字节序和网络字节序:#include<arpa/inet.h&g...
2015-06-11 23:11:00 182
转载 IPC 共享内存
共享内存解释:linux中进程对任何非进程地址空间的访问都是违法的,所以进程1和进程2是不能直接访问共享内存区域的,共享内存在进程1和进程2的地址空间中都会映射一段同样大小的内存区域,所有挂载在该共享内存上的进程都会开辟同样大小的内存,所有对进程内存的操作都会被同步到共享内存,以此实现进程间的通信。创建共享内存的方法:#include<stdio.h>#include<...
2015-06-09 22:02:00 102
转载 FIFO实现客户端服务器端通信
FIFO解决了在进程通信的时候产生大量临时文件的问题,并且可以实现非血缘关系进程间的通信,而且可以保留给后来的进程使用。FIFO的读写规则和匿名管道的读写规则相似,不过FIFO保存在磁盘上,而匿名管道保存在内存里。当FIFO的写进程关闭的时候,会向FIFO的读进程发送一个文件结束符。客户端:#include<stdio.h>#include<unistd.h>#i...
2015-06-09 12:50:00 265
转载 Linux文件和目录的粘滞位(sticky bit)带来的困惑(转)
今天维护系统时发现一个非常诡异的问题:AAA用户和BBB用户同属AAA组,但用AAA用户创建的文件,权限设置为777后,还是不能用BBB用户删除。诡异!几经周转,发现AAA用户创建文件位置的上层目录的权限是drwxrwxrwt,做开发这么多年了,还没见过所谓"t"的权限,于是找了一位公司的linux大师帮忙,大师噼里啪啦的做了一堆试验后,然后在google上搜索"rwt linux",...
2015-06-09 10:12:00 123
转载 文件权限:普通(r、w、x)和特殊(s、t) (转)
linux中,常常涉及到权限的问题。文件的权限有3组,owner,group,other,每一组都有rwx三种设置。r(4):可读;w(2):可写;x(1):可执行。我们在执行shell命令ls -l时,就会显示出文件的所有信息,第一组就是文件属性中的高级属性,权限。这一组总共有10格,每一格是一个bit。第一个是特殊位: d表示目录; l表示连接文件; -表示文件...
2015-06-09 08:58:00 477
转载 FIFO管道
1.mkfifo -m 777 fifo1 : 创建一个有名管道,权限是7772.可以实现无关进程间的通信,克服了匿名管道的缺陷3.,管道文件最前面是 p4.管道文件传输信息类似于文件,但又区别于普通文件,管道文件在数据读出后,管道中就会同时清除数据5.函数创建管道: #include<stdio.h>#include<sys/stat.h>#inclu...
2015-06-09 08:33:00 128
转载 dup和dup2(摘 )
1.dup和dup2作用都是用来复制一个文件的描述符。它们常用来重定向进程的stdin、stdout和stderr。这两个函数的 原形如下:#include <unistd.h> int dup( int oldfd ); int dup2( int oldfd, int targetfd )利用函数dup,我们可以复制一个描述符。传给该函数一个既有的描述符,它就...
2015-06-08 20:30:00 118
转载 pipe实现兄弟进程通信
pipe实现进程间通信,首先关闭第一个子进程的读入端,然后关闭第二个子进程的写入端#include<stdio.h>#include<stdlib.h>#include<unistd.h>int main(){ int fd[2]; pipe(fd); pid_t pid = fork(); if(pid==0) { close(fd[0]); w...
2015-06-08 18:22:00 225
转载 IPC --- 管道
1.在两个进城之间建立数据流通的管道2.可以单向也可以双向3.和文件类似,但是数据读出后,管道中就没有信息了4.匿名半双工管道:ls | grep * ,ls的输出是grep的输入,匿名半双工管道只是 系统的资源,但是没有实名,不可能在文件系统中以任何文件的形式看到管道中的内容,进程结束就会被系统清除5.#include<unistd.h>#include<stdio....
2015-06-08 17:42:00 95
转载 进程间通信
IPC基本概念:1. 进程间通信 IPC (interprocess communication),是所有UNIX系统中进程进程间通信的总称2.多个进程之间可以互相访问进程A| || |FIFO pipe 共享内存 信号灯| |||进程B3.进程运行期间,不考虑IPC内存共享机制,一个运行的进程的地址空间对于其它进程来说是不可见的,所以需要使用IPC来...
2015-06-08 17:41:00 173
转载 daemon进程(转)
转自:http://www.pythoner.cn/home/blog/double-fork-when-creating-daemon/Daemon进程守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控。此类程序会被以进程的形式初始化。守护进程程序的名称通常以字母“d”结尾:例如,syslogd就是指管理系统日志的守护进程。常...
2015-06-05 16:47:00 125
转载 服务器并发处理的时候如何避免僵尸进程的产生
当服务器处理多个请求链接的时候,常用的做法是收到一个请求,服务器就fork一个子进程,如果父进程调用wait函数处理子进程结束时的状态信息,那么wait函数必须等待子进程的结束,这时同一时刻服务器就只能处理一个请求,如果考虑不使用wait函数,那么接受一个请求,结果就会产生一个僵尸进程,因为父进程一直fork,init进程也无法接管结束的子进程,这时候,因为一台服务器产生的进程数是有限的...
2015-06-05 16:45:00 266
转载 点击广告
消耗对手广告费……#include<stdio.h>#include<stdlib.h>#include<windows.h>//双击一定位置的坐标voidclick(){SetCursorPos(218, 14);Sleep(500);mouse_event(M...
2015-05-28 16:28:00 98
转载 使用mmap读写文件为什么比普通读写函数要快?(转)
Linux通过内存映像机制来提供用户程序对内存直接访问的能力。内存映像的意思是把内核中特定部分的内存空间映射到用户级程序的内存空间去。也就是说,用户空间和内核空间共享一块相同的内存。这样做的直观效果显而易见:内核在这块地址内存储变更的任何数据,用户可以立即发现和使用,根本无须数据拷贝。而在使用系统调用交互信息时,在整个操作过程中必须有一步数据拷贝的工作——或者是把内核数据拷贝到用户缓冲区...
2015-05-28 09:42:00 236
转载 linux进程内存空间分段
来自为知笔记(Wiz)转载于:https://www.cnblogs.com/ZhangJinkun/p/4535005.html
2015-05-28 08:59:00 146
转载 如何让类对象只在栈(堆)上分配空间?(转)
转自:http://blog.csdn.net/hxz_qlh/article/details/13135433在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。1、静态建立类对象:是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈...
2015-05-27 22:43:00 55
转载 c++智能指针以及循环引用问题(转)
解决循环引用: 在知道存在循环引用的条件下,使用boost::weak_ptr,即弱引用来代替循环引用中的某个强引用,从而打破循环引用的环。由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete,比如流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见,并造成内存泄露。如此c++引入智能指针...
2015-05-27 22:11:00 101
转载 智能指针浅析(转)
智能指针和普通指针的区别在于智能指针实际上是对普通指针加了一层封装机制,这样的一层封装机制的目的是为了使得智能指针可以方便的管理一个对象的生命期。智能指针内部有一个计数器,记录了当前内存资源到底有多少指针在引用(可以访问这个资源),当新增加一个可以访问这个资源的引用时,计数器会加1,反之会减去1,当计数器为0时,智能指针会自动释放他所管理的资源。手动申请,自动释放,方便内存管理,防止内存...
2015-05-27 21:39:00 67
转载 给定N张扑克牌,设计一个洗牌算法
均匀洗牌即可方法1:#include<stdio.h>#include<stdlib.h>#include<time.h>static int num = 54;//num为纸牌数目//随机数发生器,产生[n,m)之间的随机数int getRandNum(int n,int m){ if(n==m) { return...
2015-05-27 20:24:00 523
转载 STL 容器 底层数据结构
序列式容器: 元素位置和元素插入顺序有关,和元素值无关 vector list deque关联式容器: 和 序列容器相反,set mapvector数组list双向链表set map红黑树deque双向队列 来自为知笔记(Wiz)转载于:https://www.cnblogs.com/ZhangJinkun/p/4534228.html...
2015-05-27 19:24:00 89
转载 STL 中 set 的实现原理
1. set 的 底层数据结构是 红黑树,一种高效的平衡检索二叉树2. set 容器中 每一个元素就是二叉树的每一个节点,对于set容器的插入删除操作,效率都比较高,原因是因为二叉树的删除插入元素并不需要进行内存拷贝和内存移动,只是改变了指针的指向3. 对 set 进行插入删除操作 都不会引起iterator的失效,因为迭代器相当于一个指针指向每一个二叉树的节点,对set的插入删除并不会...
2015-05-27 19:13:00 368
转载 STL 中 vector 的内存管理
1. vector 底层基本结构是数组,内存空间不够时会调用分配器(allocator)动态开辟双倍的内存空间。2. vector 中有 size 和 capacity 之分,size 相当于瓶子里有多少水,capacity则是瓶子的容积3. 当vector调用clear函数的时候,size变为0,但是真正的内存并未释放,如果要释放掉真正的内存,可以使用swap4. vector...
2015-05-27 18:48:00 235
转载 http 请求方式 ---GET请求和POST请求
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 15:00:00 83
转载 Hibernate中一对多关联的时候hbm.xml文件的配置
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:57:00 202
转载 同余定理
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:52:00 112
转载 正则表达式(转)
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:47:00 83
转载 Collections中的shuffle()方法
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:46:00 312
转载 Fermat定理
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:45:00 595
转载 哈希算法(转)
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:44:00 130
转载 Hungarian method (匈牙利算法)----解决指派问题(转)
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:41:00 1460
转载 蒙塔卡洛模拟
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:40:00 219
转载 线程的礼让
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:39:00 97
转载 线程间的沟通
body{ font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { ...
2015-05-27 14:38:00 196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人