- 博客(41)
- 收藏
- 关注
原创 sql学习
执行顺序:from where group by having select distinct union order bymysql一、mysqladmin mysql管理工具1.修改密码 mysqladmin -u root password "newpassword"2.关闭mysql服务器:mysqladmin -u root -p shutdown二、mysq
2018-01-16 23:50:42 198
原创 python学习
python语法:每一样东西都是对象1.字符串 可以使用单引号,双引号,三引号('''或""")。并且使用三引号可以代表多行,用来做为docstring:"""aaabbbccc"""2.语句(if,else,while等)、函数都加:,以if为例:if condition :3.代码行结束无分号4.print语句:x=5print x," is aaa" #5
2018-01-16 23:49:53 194
原创 面试准备
1.int(*s[10])(int)表示什么意思?int (*s[10])(int)表示s是一个数组,含有10个元素,每个元素都是一个函数指针(参数为int,返回值为int)。2.函数指针和指针函数区别指针函数就是返回值是一个指针,它是一个普通函数。如int* abc(int a){return &b;}函数指针就是一个指针,该指针指向函数。如: int (*abc)(int a)
2018-01-16 23:49:15 457
原创 c++笔记
一.socket1.listen(int fd,int backlog).backlog表示已经完成3次握手而等待accept的最大个数。listen调用后,内核会建立2个队列,一个是syn队列,表示接受的请求但还未完成3次握手的连接,一个是accept队列,表示完成3次握手的队列。2.accept(int fd,struct addr,socklen_t *len).会从accept
2018-01-16 23:48:03 613
转载 makefile模板
一.编译.soCC = gccCFLAGS =# opencv 头文件和lib路径 OPENCV_INC_ROOT = ../includeOPENCV_LIB_ROOT = /usr/local/lib#.o文件与.cpp文件同名OBJS = waf_log_client.o# 目标文件名LIB = ../lib/libcommon.so OP
2017-02-22 14:28:46 232
转载 apache模块开发
apache扩展模块开发:http://www.chinaunix.net/old_jh/23/1255594.htmlapache显示处理流程配置 http://httpd.apache.org/docs/current/mod/mod_info.htmlmod_security英文文档:https://github.com/SpiderLabs/ModSecurity/wiki/Ref
2017-01-17 11:24:35 376
转载 二层三层转发学习
二层转发首先说A把数据传给A网关。A在给B发数据时,A通过本身地址及掩码与B地址做“与”运算,如果发现与B是同一网段,那么广播发送即可(同你说的);如果发现与B不在同一网段,那么A会查找网关(A在电脑上配置的),发送ARP请求获得网关MAC地址,获得MAC后,数据包中原IP为A的IP,目的IP为B的IP,原MAC地址为A的MAC地址,目的MAC地址为A网关的地址,这样A就将包发给了网关。
2017-01-17 11:18:18 618
转载 程序设计原则
设计原则1.两个类之间非继承关系,一个类要用到另一个类,需要将其作为它的一个成员,而非是作为父类继承2.多线程改造:用到队列的地方类可以改造成多线程
2017-01-17 11:11:50 224
原创 c++编译错误
一.变量未定义的引用: 1.如果变量是类中的静态成员,需要先在类外部初始化。否则会出现此种错误二。头文件包含了,却报 zsp_ipc_proxy_client.hh:8:1: 错误:expected class-name before ‘{’ token 代码:class ZSP_IPC_Proxy_Client : public ZSP_IPC_Host
2017-01-17 11:10:43 451
转载 sourceinsight设置
sourceinsight设置:http://jingyan.baidu.com/article/e2284b2b5b79e5e2e7118d6e.html
2017-01-17 10:53:40 379
转载 打印结构体偏移
转载自:http://blog.csdn.net/kelsel/article/details/53506283#define OFFSET(x, y) &((x *)0)->ystruct TestStruct { int mVar1; int mVar2; int mVar3;};void OffsetTestStruct(){ fprintf(stder
2017-01-06 10:22:22 391
转载 X86-64寄存器和栈帧
X86-64寄存器和栈帧2016-05-08 21:42 423人阅读 评论(0) 收藏 举报 分类:x86汇编(5) 目录(?)[+]概要说到x86-64,总不免要说说AMD的牛逼,x86-64是x86系列中集大成者,继承了向后兼容的优良传统,最早由AMD公司提出,代号AMD64;正是由于能向后兼容,AMD公司打了一
2017-01-04 15:04:49 5687
转载 汇编学习1--函数调用过程
一、函数调用过程(ebp,esp) #include int func(int param1 ,int param2,int param3){ int var1 = param1; int var2 = param2; int var3 = param3; printf("var1=%d,var2
2017-01-04 11:17:18 1491
转载 使用libxml2
http://www.blogjava.net/wxb_nudt/archive/2007/11/18/161340.html
2016-12-27 15:21:09 206
转载 C++中调用 C静态函数库的方法
C++中调用 C静态函数库的方法首先,编写静态库函数/* player.h */#ifndef __PLAYER_H#define __PLAYER_H void player_open(char* path); #endif /* player.c */#include"pla
2016-12-21 16:49:09 1796
转载 libevent多线程
使用libevent进行多线程socket编程demo时间 2015-02-10 22:03:00 博客园精华区原文 http://www.cnblogs.com/james6176/p/4285018.html主题 Socket libevent 多线程最近要对一个用libevent写的C/C++项目进行修改,要改成多线程的,故做了一些学习和研究。
2016-12-21 11:42:19 2858
转载 apache+svn
apache+svn:一。安装svn 1.yum -y install apr apr-util httpd httpd-devel subversion mod_dav_svn mod_auth_mysql 2.输入rpm -ql subversion查看安装位置 3.创建svn版本库目录:mkdir -p /var/svn/svnrepos 4.
2016-12-08 14:45:26 294
转载 ubuntu系统
设置代理:方法一: 如果只是想临时使用http代理,可以在使用apt-get之前于终端下输入:exporthttp_proxy="http://用户名:密码@代理IP:代理端口"方法二:(方法一的持久化) 如果希望apt-get与其它应用程序都可以一直使用http代理,可以这样: 在终端下编辑~/.bashrc文件: vim ~/.bashrc
2016-11-23 18:42:50 305
原创 linux ftp命令
linux是ftp客户端。向服务器发送文件root@freewaf:/tmp# ftp 192.168.137.1ftp> lcd /var/www/ //进入到linux本机目录Local directory now /var/wwwftp> !dir //查
2016-11-10 14:54:25 396
转载 linux虚拟机方法收集
inux下安装vmwaretools首先选择 虚拟机 >> 客户机 >> 安装/升级vmwareToolscd /media装载cd:mount /dev/cdrom /media提示mount:block device /dev/sr0 is write-protecter, mounting read-onlycd /find . -name VMware*cp VMwareT
2016-11-10 14:04:43 174
转载 c++调试
利用GDB进行多线程调试2016-08-30 23:37 343人阅读 评论(0)收藏举报分类: gdb/gcc/makefile(15) 一、多线程调试多线程调试重要就是下面几个命令:info thread 查看当前进程的线程。 thread 切换调试的线程为指定ID的线程。 break file.c:100
2016-11-09 10:14:49 213
转载 c++11 智能指针
1.多态下使用class parent{public: parent() { cout << "parent constructor" << endl; } virtual void showinfo() { cout << "parent info" << endl; } ~parent()
2016-11-07 17:43:51 368
原创 c++11使用
在gcc中加入-std=c++11.编译错误1 error: ‘shared_ptr’ is not a member of ‘std’ std::shared_ptr q_handle = make_shared(); 解决:gcc中加入-std=c++11,如cc -g -std=c++11 -o xxx编译错误2 unable to find string li
2016-11-04 18:20:33 1280
转载 c++命名规范
属性部分: 全局变量 g_ 常量 c_ c++类成员变量 m_ 静态变量 s_类型部分:指针 p 函数 fn 无效 v 句柄 h 长整型 l 布尔 b 浮点型(有时也指文件) f 双字 dw 字符串 sz 短整型 n 双精度浮点 d 计数 c(通常用cnt) 字符 ch(通常用c) 整型 i(通常用n) 字节 by
2016-11-04 16:17:00 182
原创 c++编译错误
1.undefined reference to 未定义的引用。需要gcc使用-lxx库,如gcc -lnfnetlink2.test.c:9:21: error: storage size of ‘qb’ isn’t known struct nfq_q_handle qb; 将nfq_q_handle改为nfq_q_handle*
2016-11-03 15:42:07 357
转载 linux进程学习
一旦父进程长期运行,而又没有显示wait或者waitpid,同时也没处理SIGCHLD信号,这个时候init进程,就没办法来替子进程来收尸。这个时候,子进程就真的成了”僵尸“了。
2016-11-02 14:50:43 193
原创 线程锁
对于一个线程读,一个线程写的情况要加锁。一.互斥量 锁分为动态锁,通过malloc生成。需要调用pthread_mutex_init和pthread_mutex_destory来初始化和销毁。静态锁pthread_mutex_t mutexa=PTHREAD_MUTEX_INITIALIZER.不用初始化和销毁。1.线程锁函数pthread_mutex_init(pthread_m
2016-10-28 14:29:55 274
原创 linux 线程学习
一.线程创建pthread_create(tid,NULL,fun,void*arg) 正常返回0.void * fun(void*arg);二.线程终止任意线程调用了exit,_Exit ,_exit.那么整个进程就会终止。 单个线程退出:1.线程函数中 return或pthread_exit, 2.被其他 线程取消 调用pthread_concel(pid)
2016-10-27 16:39:58 231
转载 NFQUEUE抓包
nfqueue和C的libipq比起来,支持python的nfqueue会显得强大很多,特别是和scapy结合起来用的时候。首先需要说明的是在iptables中的target除了之前提到的五项(ACCEPT,DROP,RETURN,QUEUE,other_chain)之外,还有一个叫NFQUEUE,它是QUEUE的扩展。相比于QUEUE,它可以由用户指定不同的queue numbe
2016-10-27 15:27:04 4408
转载 宏定义 日志输出
#define DEBUG(format,...) printf("File: "__FILE__", Line: %05d: "format"/n", __LINE__, ##__VA_ARGS__) #else #define DEBUG(format,...) #endif int main() { char str[]="Hello World";
2016-10-27 11:35:01 427
转载 recv send处理
读数据的时候需要考虑的是当recv()返回的大小如果等于请求的大小,那么很有可能是缓冲区还有数据未读完,也意味着该次事件还没有处理完,所以还需要再次读取:while(rs){buflen = recv(activeevents[i].data.fd, buf, sizeof(buf), 0);if(buflen { // 由于是非阻塞的模式,所以当errno为EAGA
2016-10-26 19:50:03 277
原创 linux 定时器 timefd
//创建定时器,1秒执行一次int create_timer(){int ret = 0;//创建定时器,使用绝对时间 struct timespec now; ret = clock_gettime(CLOCK_REALTIME,&now); if(ret { printf("clock gettime fail:%s\n",s
2016-10-26 19:33:58 1489
转载 epoll event 处理
epoll events (2013-05-16 18:33:32)转载▼标签: it分类: socketepoll 事件的检测1.epoll 事件中发现就EPOLLIN , EPOLLOUT , EPOLLPRI可以用.EPOLLERR 和 EPOLLHUP什么情况下才能监测出这种问题啊.
2016-10-26 10:46:06 1184
转载 vim 命令常用
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky :%/\//\\/g 将所有/替换为\
2016-10-26 10:45:13 147
原创 epoll初次使用
epoll模式 server端,使用gdb调试,没有任何客户端连接的情况下.epoll_wait就收到listenfd的事件。这种现象是因为listenfd的epollevent使用了ev.events = EPOLLIN|EPOLLOUT;导致写事件产生。写事件是只要缓冲区可写就触发。EPOLLOUT应该改为EPOLLET.事件值:EPOLLIN:1EPOLLOUT:
2016-10-25 15:42:23 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人