第5天 设计语法分析器 5.1 Stone语言的语法 代码清单 5.1 Stone 语言的语法定义 5.2 使用解析器和组合子 Parser库: 一种解析器组合子类型的库 工作是将BNF写成的语法规则改写成Java语言程序 在书中第十七章有详细解说 代码清单 5.2 Stone 语言的语法分析器Ba ...
分类:
编程语言 时间:
2020-01-17 22:40:37
阅读次数:
106
41、vue-router之路由参数的随意设置与伪静态链接地址处理: 访问路径:你的加上#/content/1 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>vue-router之路由参 ...
分类:
其他好文 时间:
2020-01-04 18:27:18
阅读次数:
69
1. 编写 mylib.h 2. 编写 mylib.c 3. 生成目标文件 mylib.o 4. 归档生成 libmy.a 格式: ar –rc lib[name].a libname.o 5. 编写测试程序 main.c 6. 编译生成 main.o 7. 最后一步链接生成可执行程序 8. 执行生 ...
分类:
其他好文 时间:
2020-01-02 19:01:11
阅读次数:
92
这篇文章讲得很好: https://www.cnblogs.com/tracylee/archive/2012/10/15/2723816.html 这是总结一下, 1. 静态链接库直接被包含在最终生成的可执行文件中, 动态链接库(DLL)文件夹与可执行文件独立, 可执行文件可以动态地使用与卸载DL ...
分类:
其他好文 时间:
2019-12-31 00:50:04
阅读次数:
99
urllib3功能强大且易于使用,用于HTTP客户端的Python库。许多Python的原生系统已经开始使用urllib3。urllib3提供了很多python标准库urllib里所没有的重要特性:线程安全 连接池 客户端SSL/TLS验证 文件分部编码上传 协助处理重复请求和HTTP重定位 支持g... ...
分类:
编程语言 时间:
2019-12-30 11:28:24
阅读次数:
173
什么是MMU MMU(Memory Management Unit)主要用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权、多任务多进程操作系统。(来自百度百科,对其几个点不熟悉,因此可以只考虑加粗部分) 发展历史 注意:学习一个知识点,很重要 ...
分类:
系统相关 时间:
2019-12-29 23:49:06
阅读次数:
99
静态链接库和动态链接库的区别 一个进程可以通过调用waitpid函数来等待它的子进程终止或者停止 Debug和Release的区别 临界区互斥量信号量事件进程互斥与同步 进程有哪几种状态,状态转换图,及导致转换的事件 进程由运行态进入就绪态和阻塞态的原因 进程切换 进程调度算法 死锁 哲学家就餐问题 ...
分类:
编程语言 时间:
2019-12-24 09:46:17
阅读次数:
111
代码重定位(2.编程实现代码重定位) 1.引入链接脚本 我们上一节讲述了为什么要重定位代码,那么怎么去重定位代码呢? 上一节我们发现"arm linux ld Ttext 0 Tdata 0x30000000"这种方式编译出来的bin文件有800多M,这肯定是不行的,那么需要怎么把.data段重定位 ...
分类:
其他好文 时间:
2019-12-15 12:22:19
阅读次数:
126
1-0GET实践技巧如何避免由计算机表示数字的方式引起的奇怪的数字错误通过一些小技巧来优化自己的C代码,以充分利用现代处理器和存储器系统的设计了解编译器是如何实现过程调用的,以及如何利用这些知识来避免缓冲区溢出错误带来的安全漏洞学会如何识别和避免链接时那些令人讨厌的错误编写自己的Unix shell... ...
分类:
其他好文 时间:
2019-12-10 00:39:05
阅读次数:
90
1.查壳2.LoradPE工具检查一方面可以用LoradPE工具查看重定位,另一方面也可获取一些详细信息3.查找OEP①未发现pushad开始未发现pushad,进行单步步入,很快就能找到pushad②使用ESP定律这里要注意如果是有守护进程的话,需要使用【Crtl+G】,在输入框中输入“Creat... ...
分类:
其他好文 时间:
2019-12-05 22:45:14
阅读次数:
134