- 博客(20)
- 收藏
- 关注
原创 phpStorm的web服务器部署
phpStorm的web服务器部署配置服务器Files|Settings|Deployment (deployment:配置,部署)+新建服务器接下来有多种选择: FTP #创建文件传输通道使得本机可以和远程目录实现数据同步 FT...
2019-05-27 00:07:16
2783
1
原创 指针和数组
指针和数组.念叨了这么多年的指针,咱来看看指针的定义:指针(K&C): 指针是一种保存变量地址的变量. ps: 这里的指针是指的指针类型变量,简称指针或指针变量. ps: 注意!标准中把指针的类型称为 "(指向)T的指针"在ANSI C89中有这样的描述: 1.指针类型可以由函数类型,对象类型或者不完整类型派生。 2.派生指针类型的类型称为引用类型,从引用类型构造指针...
2019-05-23 18:03:56
212
原创 template --- decay
对于非引用类型的参数,在实参演绎的过程中会出现从数组到指针(array-to-pointer)的类型转变,称之为退化(decay)test.h#include<iostream>#include<typeinfo>template<class T>void ref(T& t) { std::cout << typeid(t).n...
2019-05-22 21:33:00
268
原创 类模板的模板参数
类模板的模板参数 1.函数模板是不支持模板参数的,而类模板支持模板参数。 2.区别: 不使用模板参数: Stack<int, std::vector<int> > vStack; 使用模板参数: Stack<int, std::vector> vStack; ...
2019-05-22 21:16:12
1921
转载 url编码
以下是url中可能用到的特殊字符及在url中的经过编码后的值: 特殊字符的含义 URL编码 # 用来标志特定的文档位置 %23 % 对特殊字符进行编码 %25 & 分隔不同的变量值对 %26 + 在变量值中表示空格 ...
2019-04-30 21:40:08
241
原创 动态库的链接详解-linux
链接动态库为什么需要链接?作为编译的最后一公里和运行的刚需。linux从程序(program或对象)变成进程(process或进程)简单的说分三步: 1、fork进程,在内核创建进程相关内核项,加载进程可执行文件; 2、查找依赖的so,一一加载映射虚拟地址 3、初始化程序变量。来看一看链接的细节:此文环境[root@VM_0_9_centos dynamic_...
2019-04-28 18:01:18
517
原创 linux创建动态库
静态库的创建和使用:- g++ add.cpp生成add.o目标文件- ar cqs libadd.a add.o - ar打包目标文件(elf中的relocatable文件) - 静态库的名字lib[static_library_name].a- 链接静态库.- g++ main.c -L . -ladd- 静态库的链接语法和动态库基本语法一致.动态库的创建和使用:- g+...
2019-04-28 18:00:05
456
转载 elf简介
共享库的结构/* RESET=============================================================================*/html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, ...
2019-04-28 17:58:14
344
原创 http中的SIGPIPE处理
问题描述:在我实现http1.1 server的过程中,当客户端和浏览器存在数据传输时,如果客户端断开连接(浏览器刷新或关闭),我的服务器就总是崩溃。求思:程序异常退出,首先查看进程退出码echo $?然后分析退出码结果分析:由此可知,我的进程异常退出的原因是由于客户端连接服务器传数据过程中,客户端断开连接,导致s...
2019-03-16 12:23:53
212
原创 进程退出码$?
目录description:如何查看进程退出码:分析退出码:a.正常退出:b.异常退出对异常的进程退出码进行分析:关于信号的具体分析:description:Linux 下进程的退出分为正常退出和异常退出两种:1.正常退出 a. 在main()函数中执行return。 b.调用exit()函数 c.调用_exit()...
2019-03-16 12:09:14
1128
原创 SO_RCVTIMEO超时errno
首先打印一次recv调用失败的errno值和各个宏的值.由上可知,EAGIN和EWOULDBLOCK的值都是11,其实EAGIN是在setsockopt设置SO_RCVTIMEO或SO_SNDTIMEO后,recv或者send系列函数超时等待返回-1,此时的errno值。EWOULDBLOCK则是大家熟悉的异步调用产生的errno。recv return -1,errn...
2019-03-15 23:09:21
746
原创 Server design浅析
服务器的设计方案: (1)派生子进程: parent process send socket to child process. 其实也是可以父进程和子进程共享一个数据结构(socket list...),来进行传递socket. (2)(3)(4)中的listenfd的进程间的传递: 有点和windows的句柄表的作用有点像....
2019-02-26 12:29:33
208
原创 SO_RCVTIMEO , MSG_WAITALL
test SO_RCVTIMEO and MSG_WAITALL 1.首先两者都运用于阻塞的情景下,对nonblock的fd不起作用。2.SO_RCVTIMEO, socket选项,作为getsockopt, setsockopt的参数。见下 figure1. SO_RCVTIMEO选项可以指定阻塞调用的超时时长,SO_RCVTIMEO的影响的函数read, readv, recv,...
2019-02-23 16:03:43
957
转载 ab
网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。今天我们专门来介绍ab。ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器...
2018-11-27 22:11:17
174
原创 我写多线程踩的那些坑
1.在做多线程时应当做接口互斥。2.多线程中使用block和non-block混合使用可以提高效率。3.在混合使用block和non-block时应当注意block时不应拥有mutex. //std::find_if(std::begin(set.fd_array), std::end(set.fd_array), [&](SOCKET val) {if (val &g...
2018-11-25 23:13:32
560
原创 Try-catch的代价
#include<iostream>#include<time.h>#include<windows.h>#define nullptr NULL#define TEST 10000000void test_noTry(unsigned count_){ volatile unsigned count = count_; while(coun...
2018-11-25 14:23:41
306
转载 centos7搭建ftpd服务器
1.检测是否安装vsftpd:rpm -q vsftpd //利用rpm(redhat package manerge)软件测试是否存在vsftpd2.如果没有vsftpd,install vsftpdyum install -y vsftpd //yum是基于rpm的软件管理软件3.编辑vsftpd配置文件:vi /etc/vsftpd/vsftpd.conf#...
2018-11-09 21:10:05
760
转载 samba服务器简单配置
samba是一个通过实现服务器,实现跨平台的共享操作我以在linux端安装samba作为实现:………等待完成安装—————–>>>>>>>>配置samba:—>>编辑samba的配置文件: ok——-新建共享文件夹: ———–ok在window端进行访问—- 根...
2018-11-09 21:01:11
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人