上一页 1 ··· 47 48 49 50 51 52 53 54 55 ··· 60 下一页
摘要: 跨函数使用内存 一个函数运行结束,使用malloc函数分配的内存,如果不调用free,就不会释放 在另一个函数中还可以继续使用 阅读全文
posted @ 2018-01-27 15:39 唯一客服系统开发笔记 阅读(274) 评论(0) 推荐(0)
摘要: 动态内存分配 静态内存分配数组 int a[5]={1,2,3,4,5} 动态内存分配数组 int len=5; int *parr=(int *)malloc(sizeof(int) * len); 1.分配了 4*5 =20个字节的内存空间,返回了第一个字节的地址 2.第一个字节的地址无意义,所 阅读全文
posted @ 2018-01-27 12:32 唯一客服系统开发笔记 阅读(243) 评论(0) 推荐(0)
摘要: 结构体 为什么出现结构体 为了表示一些复杂的数据,而普通的基本类型变量无法满足需求 什么叫结构体 结构体是用户根据实际需要自己定义的复合数据类型 如何使用结构体 1.两种方式 一般使用结构体指针的形式来使用 struct Student *pst; pst=&st; pst->name="shiha 阅读全文
posted @ 2018-01-27 11:49 唯一客服系统开发笔记 阅读(195) 评论(0) 推荐(0)
摘要: 所有的伟大源于一个勇敢的开始 数据结构预备知识 指针 1.指针:是C语言的灵魂,指针=地址 地址:内存单元的编号 指针变量:存放内存单元地址的变量 int *p;//p是指针变量,int *表示该p变量只能存储int类型变量的地址,不能存放别的类型的 int i=10; p=&i 详细这两部操作: 阅读全文
posted @ 2018-01-26 23:52 唯一客服系统开发笔记 阅读(231) 评论(0) 推荐(0)
摘要: 1.准备: dpkg -L apache2查看所有安装的apache2的应用 a2query -M查看apache2使用的模式 httpd -l旧版本查看当前apache模式 2.查看apache的进程数: ps aux|grep httpd|grep -v grep|wc -l //查看prefo 阅读全文
posted @ 2018-01-26 16:50 唯一客服系统开发笔记 阅读(461) 评论(0) 推荐(0)
摘要: PHP的纯CPU基准测试(PHP5.5.9 vs PHP7.2.1): 1.bench.php 可在PHP源代码的 php-src/Zend 目录 2.micro_bench.php 也可以在 PHP 源代码发布的 php-src/Zend 目录中找到 3.同时使用Unix time 命令来计时 t 阅读全文
posted @ 2018-01-26 11:05 唯一客服系统开发笔记 阅读(366) 评论(0) 推荐(0)
摘要: 1.衡量算法的标准 算法 解题的方法和步骤 衡量算法的标准 1.时间复杂度 大概程序要执行的次数,而非执行的时间,不同的机器运行时间肯定不一样。 2.空间复杂度 算法执行过程中大概所占用的最大内存 3.难易程度 易于理解,便于阅读 4.健壮性 2.数据结构的地位 数据结构是软件中最核心的课程 程序= 阅读全文
posted @ 2018-01-25 22:20 唯一客服系统开发笔记 阅读(742) 评论(0) 推荐(0)
摘要: 1.数据结构概述 定义 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中, 以及在此基础上为实现某个功能(比如查找、删除、查找、某个元素,对所有元素进行排序)而执行的相应操作 这个相应的操作也叫算法 数据结构=个体+个体关系 算法=对存储数据的操作 预备知识 阅读全文
posted @ 2018-01-25 21:44 唯一客服系统开发笔记 阅读(353) 评论(0) 推荐(0)
摘要: 1.数据类型和变量: 数据是放在内存中的,明确三件事:数据存储在哪里、数据的长度以及数据的处理方式 int n;数据类型指明了数据的长度和处理方式,变量名指明了数据存储在哪里 2.数据长度:是指数据占用多少个字节,数据类型指明了数据长度 基本类型占用的字节数:char 1,short 2,int 4 阅读全文
posted @ 2018-01-25 16:09 唯一客服系统开发笔记 阅读(295) 评论(0) 推荐(0)
摘要: 从PHP 5.6.x 移植到 PHP 7.0.x 新特性: 1.标量类型声明 字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array,self,Class/interface name 2.返回值类型声明 定义参数类型和返回值类型 阅读全文
posted @ 2018-01-23 17:02 唯一客服系统开发笔记 阅读(335) 评论(0) 推荐(1)
摘要: 从 PHP 5.3.X 迁移到 PHP 5.4.X不兼容点: 1.不再支持 安全模式 2.移除 魔术引号,设置 magic_quotes_gpc 系列将不会生效 3.Salsa10 和 Salsa20 哈希算法 被移除。使用各种哈希算法直接或增量处理任意长度的信息。 4.在 日期与时间扩展 中,不再 阅读全文
posted @ 2018-01-23 14:31 唯一客服系统开发笔记 阅读(326) 评论(0) 推荐(0)
摘要: 1.错误和异常处理 1.1 set_exception_handler()函数申明的类型 function handler($e){ var_dump($e); } set_exception_handler('handler'); throw new Exception("sb"); 1.2 当内 阅读全文
posted @ 2018-01-22 16:13 唯一客服系统开发笔记 阅读(533) 评论(0) 推荐(0)
摘要: PHP中使用最为频繁的数据类型非字符串和数组莫属,使用哈希表实现的PHP数组。1.数据结构:保存哈希表容器,保存数据的容器2.哈希函数实现:需要尽可能的将不同的key映射到不同的槽(bucket)中,首先我们采用一种最为简单的哈希算法实现,将key字符串的所有字符加起来,然后以结果对哈希表的大小取模 阅读全文
posted @ 2018-01-20 22:43 唯一客服系统开发笔记 阅读(548) 评论(0) 推荐(0)
摘要: PHP的脚本执行:PHP的脚本执行还是会经过编译环节, 只不过它们一般会在运行的时候实时进行编译1.启动PHP及Zend引擎, 加载注册的扩展模块2.读取脚本文件,Zend引擎对脚本文件进行词法分析,语法分析。3.编译成opcode执行4.如果安装opcode缓存扩展(如APC, xcache, e 阅读全文
posted @ 2018-01-20 16:12 唯一客服系统开发笔记 阅读(411) 评论(0) 推荐(0)
摘要: CGI 的运行原理:1.客户端访问某个 URL 地址之后,通过 GET/POST/PUT 等方式提交数据,并通过 HTTP 协议向 Web 服务器发出请求。2.服务器端的 HTTP Daemon(守护进程)启动一个子进程。然后在子进程中,将 HTTP 请求里描述的信息通过标准输入 stdin 和环境 阅读全文
posted @ 2018-01-18 23:26 唯一客服系统开发笔记 阅读(420) 评论(0) 推荐(0)
摘要: 三次握手由client主动发出SYN请求, 此时client处于SYN_SENT状态(第一次握手)当server收到之后会由LISTEN转变为SYN_REVD状态, 并回复client, client收到应答后处于ESTABLISHED状态, 这个状态就表示client已经准备好通信了(第二次握手) 阅读全文
posted @ 2018-01-17 23:16 唯一客服系统开发笔记 阅读(569) 评论(0) 推荐(0)
摘要: #include #include #include #include #include #include #include int main(){ //创建套接字 int serv_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //将套接字和IP、端口绑定 str... 阅读全文
posted @ 2018-01-16 23:34 唯一客服系统开发笔记 阅读(335) 评论(0) 推荐(0)
摘要: 1.当PHP需要在Apache服务器下运行时 一般来说,它可以mod_php5模块的形式集成, 此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求,并处理这些请求, 然后将处理后的结果返回给Apache。加载方式有两种:Apache启动时的加载,或者运行的时候动态装载 2.Ap 阅读全文
posted @ 2018-01-15 21:33 唯一客服系统开发笔记 阅读(379) 评论(0) 推荐(0)
摘要: SAPI:在各个服务器抽象层之间遵守着相同的约定,这里我们称之为SAPI接口。例如命令行程序的实现,Apache的mod_php模块实现以及fastcgi的实现等等 1.结构体:使用结构体(Struct)来存放一组不同类型的数据struct 结构体名{ 结构体所包含的变量或数组};struct 结构 阅读全文
posted @ 2018-01-14 15:49 唯一客服系统开发笔记 阅读(376) 评论(0) 推荐(0)
摘要: 根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译有这些预处理命令:#if、#elif、#else #endif ;#ifdef #else #endif PHP源码: 练习: 阅读全文
posted @ 2018-01-14 14:13 唯一客服系统开发笔记 阅读(480) 评论(0) 推荐(0)
摘要: PHP源码常用代码宏定义:#define 宏名 字符串#表示这是一条预处理命令,所有的预处理命令都以#开头。define是预处理命令。宏名是标识符的一种,命名规则和标识符相同。字符串可以是常数、表达式等。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展 阅读全文
posted @ 2018-01-14 12:03 唯一客服系统开发笔记 阅读(1304) 评论(0) 推荐(0)
摘要: 获取最新PHP代码git clone https://git.php.net/repository/php-src.git构建编译环境apt-get install build-essential 编译:./buildconf报错autoconf not found,apt-get install 阅读全文
posted @ 2018-01-13 19:47 唯一客服系统开发笔记 阅读(338) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2018-01-11 22:25 唯一客服系统开发笔记 阅读(8) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2018-01-03 22:45 唯一客服系统开发笔记 阅读(9) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2017-12-31 15:03 唯一客服系统开发笔记 阅读(9) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2017-12-30 16:48 唯一客服系统开发笔记 阅读(11) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2017-12-30 16:29 唯一客服系统开发笔记 阅读(17) 评论(0) 推荐(0)
摘要: 安装脚本setup.sh if ! test -d ./packages ; then 1.shell脚本编程中的if判断配合test命令,判断目录是否存在 2.if判断格式如,写成一行 ,if test 条件;then 动作;else 动作;fi 3.判断条件相等用-eq 或者 =,不相等 -ne 阅读全文
posted @ 2017-12-18 20:55 唯一客服系统开发笔记 阅读(288) 评论(0) 推荐(0)
摘要: 回声客户端: 1.所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端,就像声音一样,遇到障碍物会被“反弹回来”。 2.客户端也可以使用 write() / send() 函数向服务器发送数据,服务器也可以使用 read() / recv() 函数接收数据 #define B 阅读全文
posted @ 2017-12-16 16:13 唯一客服系统开发笔记 阅读(701) 评论(0) 推荐(2)
摘要: struct sockaddr_in serv_addr; 1.定义结构体变量,结构体是一种数据类型,那么就可以用它来定义变量 2.struct 结构体名 变量名; (struct sockaddr*)&serv_addr 1.结构体指针,指针也可以指向一个结构体 2.强制类型转换的格式为:(typ 阅读全文
posted @ 2017-12-16 12:36 唯一客服系统开发笔记 阅读(397) 评论(0) 推荐(1)
摘要: typedef void( *sighandler_t)(int); 1.用typedef给类型起一个别名。 2.为函数指针类型定义别名, 3.函数指针(指向函数的指针) sighandler_t signal(int signum, sighandler_t handler); 1.函数原型 2. 阅读全文
posted @ 2017-12-15 23:02 唯一客服系统开发笔记 阅读(793) 评论(0) 推荐(1)
摘要: 1. useradd -s /bin/bash -m 用户名 , 创建用户,自动创建家目录 , 设置登录shell 2. echo 用户名:密码 | chpasswd ,非交互式设置密码 3. echo -e "userlist_deny=NO\nuserlist_enable=YES\nuserl 阅读全文
posted @ 2017-12-12 21:49 唯一客服系统开发笔记 阅读(429) 评论(0) 推荐(0)
摘要: 守护进程: 必须是init进程的子进程,运行在后台,不与任何控制终端相关联。 通过以下步骤成为守护进程 1.调用fork()创建出来一个新的进程,这个新进程会是将来的守护进程 2.在新守护进程的父进程中,调用exit(),为了守护进程的爷爷进程确认父进程结束 3.在新守护进程中,调用setsid() 阅读全文
posted @ 2017-12-09 16:45 唯一客服系统开发笔记 阅读(665) 评论(0) 推荐(0)
摘要: 1.等待终止的子进程(僵死进程): 如果一个子进程在父进程之前结束,内核会把子进程设置为一个特殊的状态,处于这种状态的进程称为僵死进程 当父进程获取了子进程的信息后,子进程才会消失。 pid_t wait(int *status); 父进程调用这个方法会被阻塞住,如果子进程终止的时候,此方法会调用并 阅读全文
posted @ 2017-12-07 23:07 唯一客服系统开发笔记 阅读(655) 评论(0) 推荐(0)
摘要: 1.进程ID 每一个进程都由一个唯一的标识符表示,即进程ID,简称pid.系统保证在某时刻每个pid都是唯一的。 1.1分配进程ID 缺省情况下,内核将进程ID的最大值限制为32768,可以在此处设置/proc/sys/kernel/pid_max,在短时间内,内核不会重用已经分配的ID. 2.获得 阅读全文
posted @ 2017-12-02 16:53 唯一客服系统开发笔记 阅读(3999) 评论(0) 推荐(0)
摘要: 1.如果说文件是unix系统最重要的抽象概念,那么进程仅次于文件。进程是执行中的目标代码:活动的、生存的、运行的程序。 除了目标代码进程还包含数据、资源、状态以及虚拟化的计算机。 2.进程体系: 每一个进程都有一个唯一的正整数标识,即进程ID(pid).第一个进程的pid是1,接下来每一个进程接受一 阅读全文
posted @ 2017-12-01 23:31 唯一客服系统开发笔记 阅读(405) 评论(0) 推荐(0)
摘要: C语言枚举类型(Enum):定义形式为:enum typeName{ valueName1, valueName2, valueName3, ...... };enum 类型名{名字1,名字2} 枚举变量,枚举值默认从 0 开始,往后逐个加 1(递增) 枚举和宏其实非常类似:宏在预处理阶段将名字替换 阅读全文
posted @ 2017-11-29 15:17 唯一客服系统开发笔记 阅读(612) 评论(0) 推荐(1)
摘要: 结构体指针作为函数参数:结构体变量名代表的是整个集合本身,作为函数参数时传递的整个集合,也就是所有成员,而不是像数组一样被编译器转换成一个指针。如果结构体成员较多,尤其是成员为数组时,传送的时间和空间开销会很大,影响程序的运行效率。所以最好的办法就是使用结构体指针,这时由实参传向形参的只是一个地址, 阅读全文
posted @ 2017-11-28 23:32 唯一客服系统开发笔记 阅读(1744) 评论(0) 推荐(0)
摘要: 用C语言指针作为函数返回值:C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数函数运行结束后会销毁在它内部定义的所有局部数据 C语言二级指针(指向指针的指针):指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int * 阅读全文
posted @ 2017-11-25 12:23 唯一客服系统开发笔记 阅读(682) 评论(0) 推荐(0)
摘要: 结构体 struct 结构体名{} 变量名; 结构体变量: struct person{ char *name; int age; float score; } student; 成员的获取和赋值 //Members of the acquisition and assignment student 阅读全文
posted @ 2017-11-18 11:23 唯一客服系统开发笔记 阅读(458) 评论(0) 推荐(0)
上一页 1 ··· 47 48 49 50 51 52 53 54 55 ··· 60 下一页