C
文章平均质量分 90
guangsu.
这个作者很懒,什么都没留下…
展开
-
什么样的语言可以进行反编译
什么样的语言可以进行反编译本文从知乎扒的,没扒图,感觉文字就ok.中间加了一些注释,如有需要请移步.概念介绍要理解这个问题,先要看「正」编译的过程是怎样的。你有一个想法,这是一种人类自然语言可以表达出来的东西。你利用编程技能,把它「翻译」成你熟悉的一种编程语言这个过程叫做编程。你使用编译器(compiler)将它翻译成机器所能理解的语言:这个过程叫做编译。编程和编译都是「信息丢失」的过程。比如你说,我有一组整数,我要把这些数排个序,然后轻车熟路地写了个冒泡排序。然而一定程度上,你的原始动机其转载 2021-01-10 21:41:59 · 1424 阅读 · 0 评论 -
php7中如何停止php-fpm服务
php7中如何停止php-fpm服务在PHP生命周期的各个阶段,一些与服务相关的操作都是通过SAPI接口实现。各个服务器抽象层之间遵守着相同的约定,这里我们称之为SAPI接口。在PHP的源码中,当需要调用服务器相关信息时,全部通过SAPI接口中对应的方法调用实现php-fpm + nginxphp + terminal... PHP常见的四种运行模式SAPI(Server Application Programming Interface)服务器应用程序编程接口,即PHP与其他应用交互的接原创 2020-10-25 16:47:33 · 1866 阅读 · 2 评论 -
排序算法—快速排序
快速排序快速排序是目前内部排序中性能较好的算法,面试必问,必须掌握.快速排序是在冒泡排序算法上优化而来,最好可以先掌握冒泡排序,然后才能较快掌握快排为什么快,以及在特定条件下为什么会慢.快排与归并两中算法的解决思路相似.均采用分治法.但是实现细节又稍有不同(两者都有交替处理的步骤).最好可以提前掌握归并排序.步骤拆解目的:将原始序列按照升序排序.从待排序的原始序列中选取一个枢纽点pivot从原始序列的两端(最左边key = 0,以及最右边key = len - 1) 交替与pivot元素值比原创 2020-07-01 19:17:20 · 2213 阅读 · 0 评论 -
排序算法—堆排序
堆排序以前我们的都是在顺序存储的线性链表上应用分治法的算法,比如双端同时开始查找(快排,归并等等).来提高算法的效率.现在我们来了解不同寻常的排序方法.对存储在顺序表中的二叉树进行堆排序,从而得出我们期望的有序序列.有没有感觉起跑线都不一样.以往都是优化算法,谁能想到优化结构呢?知识点.用数组来实现树相关的数据结构也许看起来有点古怪,但是它在时间和空间上都是很高效的。并不是每一个最小堆都是一个有序数组!要将堆转换成有序数组,需要使用堆排序。堆的根节点中存放的是最大或者最小元素,但是其他节点的原创 2020-07-01 19:15:25 · 491 阅读 · 0 评论 -
一直搞不明白高地址与高位
内存地址中的高地址与低地址可以把主存看成一本空白的作业本,你现在要在笔记本上记录一些内容,他的页码排序是第一页 : 0x0000001第二页 : 0x0000002...最后一页: 0x00000921 如果你选择从前向后记录(用完第一页,用第二页,类推)这就是先使用低地址,后使用高地址.0x0000001 -> 0x0000002-> ... -> 0x0...原创 2020-04-29 12:25:01 · 6057 阅读 · 0 评论 -
如何使用CLion调试make工具构建的项目
如何使用Clion调试使用make工具构建的项目背景介绍CLion只支持使用Cmake工具构建项目,但是有很多项目是使用make进行构建的(比如php核心源码/redis源码).那么如何将一个make项目导入到CLion中,转化为CMake构建方式呢,这样我们就能使用CLion阅读一些开源软件,使用我们熟悉的小瓢虫进行断点调试了回顾CMake与make的关系make是帮助构建(构建就是编...原创 2020-04-26 17:09:35 · 4060 阅读 · 0 评论 -
为什么if里两个判断表达式要分两行书写
```c while (!is_empty()) { p = dequeue(); show_p(p); if (p.row == MAX_ROW - 1 /* goal */ && p.col == MAX_COL - 1) break; if (p.col+1 ...原创 2020-03-06 13:09:14 · 349 阅读 · 0 评论