- 博客(20)
- 收藏
- 关注
原创 phpStorm的web服务器部署
phpStorm的web服务器部署 配置服务器 Files|Settings|Deployment (deployment:配置,部署) +新建服务器 接下来有多种选择: FTP #创建文件传输通道使得本机可以和远程目录实现数据同步 FT...
2019-05-27 00:07:16
2880
1
原创 指针和数组
指针和数组. 念叨了这么多年的指针,咱来看看指针的定义: 指针(K&C): 指针是一种保存变量地址的变量. ps: 这里的指针是指的指针类型变量,简称指针或指针变量. ps: 注意!标准中把指针的类型称为 "(指向)T的指针" 在ANSI C89中有这样的描述: 1.指针类型可以由函数类型,对象类型或者不完整类型派生。 2.派生指针类型的类型称为引用类型,从引用类型构造指针...
2019-05-23 18:03:56
266
原创 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
325
原创 类模板的模板参数
类模板的模板参数 1.函数模板是不支持模板参数的,而类模板支持模板参数。 2.区别: 不使用模板参数: Stack<int, std::vector<int> > vStack; 使用模板参数: Stack<int, std::vector> vStack; ...
2019-05-22 21:16:12
2032
转载 url编码
以下是url中可能用到的特殊字符及在url中的经过编码后的值: 特殊字符的含义 URL编码 # 用来标志特定的文档位置 %23 % 对特殊字符进行编码 %25 & 分隔不同的变量值对 %26 + 在变量值中表示空格 ...
2019-04-30 21:40:08
521
原创 动态库的链接详解-linux
链接动态库 为什么需要链接? 作为编译的最后一公里和运行的刚需。 linux从程序(program或对象)变成进程(process或进程)简单的说分三步: 1、fork进程,在内核创建进程相关内核项,加载进程可执行文件; 2、查找依赖的so,一一加载映射虚拟地址 3、初始化程序变量。 来看一看链接的细节: 此文环境 [root@VM_0_9_centos dynamic_...
2019-04-28 18:01:18
609
原创 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
516
转载 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
424
原创 http中的SIGPIPE处理
问题描述: 在我实现http1.1 server的过程中,当客户端和浏览器存在数据传输时,如果客户端断开连接(浏览器刷新或关闭),我的服务器就总是崩溃。 求思: 程序异常退出,首先查看进程退出码echo $? 然后分析退出码 结果分析: 由此可知,我的进程异常退出的原因是由于客户端连接服务器传数据过程中,客户端断开连接,导致s...
2019-03-16 12:23:53
276
原创 进程退出码$?
目录 description: 如何查看进程退出码: 分析退出码: a.正常退出: b.异常退出 对异常的进程退出码进行分析: 关于信号的具体分析: description: Linux 下进程的退出分为正常退出和异常退出两种: 1.正常退出 a. 在main()函数中执行return。 b.调用exit()函数 c.调用_exit()...
2019-03-16 12:09:14
1243
原创 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
911
原创 Server design浅析
服务器的设计方案: (1)派生子进程: parent process send socket to child process. 其实也是可以父进程和子进程共享一个数据结构(socket list...),来进行传递socket. (2)(3)(4)中的listenfd的进程间的传递: 有点和windows的句柄表的作用有点像. ...
2019-02-26 12:29:33
244
原创 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
1065
转载 ab
网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。 性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。今天我们专门来介绍ab。 ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器...
2018-11-27 22:11:17
238
原创 我写多线程踩的那些坑
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
628
原创 Try-catch的代价
#include<iostream> #include<time.h> #include<windows.h> #define nullptr NULL #define TEST 10000000 void test_noTry(unsigned count_){ volatile unsigned count = count_; while(coun...
2018-11-25 14:23:41
354
转载 centos7搭建ftpd服务器
1.检测是否安装vsftpd: rpm -q vsftpd //利用rpm(redhat package manerge)软件测试是否存在vsftpd 2.如果没有vsftpd,install vsftpd yum install -y vsftpd //yum是基于rpm的软件管理软件 3.编辑vsftpd配置文件: vi /etc/vsftpd/vsftpd.conf #...
2018-11-09 21:10:05
825
转载 samba服务器简单配置
samba是一个通过实现服务器,实现跨平台的共享操作 我以在linux端安装samba作为实现: ………等待完成安装 —————–>>>>>>>>配置samba: —>>编辑samba的配置文件: ok——- 新建共享文件夹: ———–ok 在window端进行访问—- 根...
2018-11-09 21:01:11
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅