学习总结
文章平均质量分 79
猫步旅人
I like programming.make impossible to be i'm possible
展开
-
tvm 中的python bindings是如何与 C++ 进行交互的呢
tvm 使用 python 作为编程接口,本文从源代码的层面来尝试分析一下 python 与 c++ 到底是如何交互的原创 2024-01-24 00:04:04 · 1000 阅读 · 0 评论 -
c/c++中不同文件中的同名变量一定会redefine吗
c/c++中不同文件中的同名变量,在链接时一定会发生redefine的错误吗原创 2024-01-19 23:14:09 · 998 阅读 · 0 评论 -
传统编译器和DL编译器的调研和理解
Part One : 传统编译器编译器就是一个将编程语言所编写的程序翻译成另一种目标语言的程序。传统编译器的执行流程如下所示编译器的前端技术分为词法分析,语法分析,语义分析三个部分,后端部分从生成中间代码,到各种优化,到最终生成目标代码的过程,有时又会将中间代码和优化部分称之为中端。下文将从前端,中端和后端三个角度来阐述。1.1 前端词法分析器 scanner 以源代码作为输入,将源代码转换成 token stream,然后传递给 parser 进行处理,parser 按照语法规则,对 tok原创 2022-04-27 10:59:43 · 2976 阅读 · 1 评论 -
浅谈内存泄漏
引子我们写的程序是如何一步一步运行起来的?为什么虚拟内存大小可以比实际物理内存大cpu是如何管理物理内存和映射内存的……内存泄漏是什么,如何定位和排查内存泄漏的现象在实际工作中,我们可能会遇到下面这些情况伴随着服务器中的后台任务持续地运行,系统中可用内存越来越少;应用程序正在运行时忽然被 OOM kill 掉了;进程看起来没有消耗多少内存,但是系统内存就是不够用了;……类似问题,很可能就是内存泄漏导致的。我们都知道,内存泄漏指的是内存被分配出去后一直没有被释放,导致这部分内存.原创 2021-11-24 09:56:22 · 1755 阅读 · 0 评论 -
antlr4中NoViableAltException 异常引起程序崩溃
NoViableAltException 异常引起的 coredump 问题使用antlr4解析时,在遇到 NoViableAltException 异常的时候,有些情况下会遇到 coredump 错误,如果仅仅抛出异常还好,但是出现崩溃问题在项目中就是大问题了,这个必须得找到并解决。antlr4 解析时,在 ParserATNSimulator.cpp 中的 execATN 函数的 179 ...原创 2019-12-16 20:47:42 · 2763 阅读 · 0 评论 -
antlr4的介绍以及常见错误和调试方法
本文简单介绍 antlr4的基本知识,介绍了antlr4 语法中二义性及解决思路,anrlr4 可能出现的错误,以及错误定位和解决的办法。简单介绍ANTLR(Another Tool for Language Recognition)是一个开源的语法分析器生成工具。ANTLR4 语法分析器使用了一种名为自适应的 LL(*) 或者 ALL(*)(读作 all star)的新技术,ALL(*)是 ...原创 2019-11-05 20:33:11 · 11235 阅读 · 0 评论 -
数据结构基本排序算法
数据结构的基本算法,包括交换排序,选择排序,归并排序,插入排序等常见的排序算法原创 2016-10-19 18:07:16 · 773 阅读 · 0 评论 -
面试总结一
redis list 是否有长度限制字节序的由来原创 2017-03-15 23:57:37 · 378 阅读 · 0 评论 -
require "socket" 引发的一些问题
初学lua,在require "socket"时出现一些问题及引发的一些思考原创 2017-05-24 20:01:05 · 7257 阅读 · 0 评论 -
scrapy - Request 中的回调函数不执行
scrapy中 Request 中的回调函数没有被执行的问题原创 2017-07-19 23:57:38 · 17002 阅读 · 5 评论 -
scrapy简单入门 - 爬取伯乐在线所有文章
scrapy 的简单入门,使用 scrapy 爬取网站所有文章1. 分析网页结构2. 使用 css selector 的方法提取元素3. 开始 scrapy 工程4. 获取所有文章url,爬取文章数据5. 下载图片6. 使用 item 和 itemloader7. 将数据导出到 json 格式的文件中8. 将数据保存到 mysql 数据库中原创 2017-07-09 21:27:31 · 7329 阅读 · 6 评论 -
获取随机User-Agent和随机ip代理
如何获取不断变化的 User-Agent和ip代理,避免反爬虫策略原创 2017-08-03 23:38:40 · 12771 阅读 · 0 评论 -
session或scrapy实现模拟登录知乎
session 和 scrapy 的模拟登陆推荐我的个人博客: blog.wuzhenyu.com.cn原创 2017-07-28 16:00:13 · 4581 阅读 · 0 评论 -
代码风格的简单整理
本人coding习惯中,对一些基本的编码习惯和风格进行了整理原创 2016-11-06 19:59:44 · 1507 阅读 · 0 评论 -
动态数组的内存增长因子如何选择-1.5倍还是2倍?
What is the ideal growth rate for a dynamically allocated array原创 2017-08-24 20:50:58 · 2747 阅读 · 1 评论 -
面试总结三
面试总结三原创 2017-09-29 18:39:16 · 414 阅读 · 2 评论 -
GDB 调试使用总结
gdb 调试总结原创 2017-10-03 17:45:24 · 1061 阅读 · 0 评论 -
关于文件描述符--不能不知的几件事
文件描述符的那点事原创 2015-09-27 00:36:32 · 3483 阅读 · 0 评论 -
面试总结二
面试总结原创 2017-03-28 14:52:25 · 329 阅读 · 0 评论 -
mysql中对sql的调优方法
MySQL中对SQL的调优方法在网上查了些资料,前辈们说的都很齐全,我这针对他们所说的,根据自己的实践,整理了一些基本方法或步骤,算是对SQL调优的一个总结吧。查找慢查询查看慢查询的时间show variables like 'long_query_time';临时设置慢查询的值set long_query_time=2但是,如果需要永久设置,就需要在MySQL的配...原创 2017-03-20 22:55:03 · 1909 阅读 · 0 评论 -
makefile推荐写法
之前学习makefile,依赖的.o文件简单的就是自己写出来,或者通过生成.depend文件,通过include .depend文件的方法,获得依赖规则,下面介绍一种推荐写法,同样是将gcc -MM main.c这样获得的依赖规则写入文件,然后通过include文件的方法获取依赖规则,具体如下。加入当前路径下有mycp.h,mycp.c,main.c,编译生成可执行文件mycp,能够进行文件之间的拷原创 2015-09-23 20:19:25 · 456 阅读 · 0 评论 -
系统调用open的一个不为熟知的秘密
在linux中,打开文件可以使用系统调用open,也可以使用库函数fopen,前者返回的是文件描述符,后者返回的是一个FILE* 的文件指针在open的man page(系统调用为第二章节)中,open函数有两个,一个参数只有一个,一个有三个参数,最后一个参数为mode。当你通过下面这个方式使用open 函数时:int fd = open("test.txt", O_RDWR | O_CREAT原创 2015-09-27 00:25:14 · 611 阅读 · 0 评论 -
main函数和启动例程(Startup Routine)
gcc编译文件的过程:gcc -v hello.c 可以看到完整的编译过程使用gcc编译器编译C源程序时,gcc hello.c,会在当前目录中生成一个a.out的可执行文件。file a.out可以查看文件的类型这是一个ELF的文件,executable可执行。使用-o选项可将生成的可执行文件进行重命名。gcc -o hello hello.c而程序编译经历了 预原创 2015-09-12 19:31:35 · 2983 阅读 · 0 评论 -
linux vt码的学习和使用
使用vt码,可以在终端上显示颜色,闪烁,背景色等特效。下面罗列一些常用的vt码,欢迎大家补充。一、 锁\开键盘代码 代码定义: 锁键盘:ESC[2h 开键盘:ESC[2l 应用: 1.直接在键盘上顺序敲入Esc+[+2+h四键,键盘即被锁住。 2.在C语言程序显示字符串中包含锁代码:printf(″%c[2h字串″,’\033’) 3原创 2015-09-19 14:54:33 · 2208 阅读 · 0 评论 -
连接动态链接库时找不到链接库的解决办法
连接动态链接库时找不到链接库的解决办法 链接动态库时,可能会出现无法找到链接库的错误,如果用ldd命令就能查看到可执行文件的所有依赖的库。在《linux c一站式编程》一书中看到了一些解决办法,先总结如下四中办法:方法一如果只是在开发中临时使用一下,可以使用 LD_LIBRARY_PATH 这个变量进行设置EXPORT LD_LIBRARY_PATH=当前所依赖的库的路径这种办法只是临时有效,原创 2015-09-19 14:21:08 · 11653 阅读 · 0 评论 -
lua学习笔记一 -- 基本数据类型和操作符介绍
lua基本数据类型,操作符种类以及控制结构的简单介绍原创 2016-06-29 14:25:32 · 414 阅读 · 0 评论 -
lua学习笔记二--函数
lua学习笔记,函数,以及函数参数和多重赋值的特性原创 2016-06-29 14:27:53 · 375 阅读 · 0 评论 -
lua学习笔记四--协同程序
lua学习笔记-协同程序原创 2016-06-29 14:43:11 · 431 阅读 · 0 评论 -
lua学习笔记--两个实例(markov chain 和 递归上台阶算法)
lua学习笔记练习 -- markov chain 和 递归上台阶算法原创 2016-06-29 14:45:52 · 917 阅读 · 0 评论 -
MySQL 数据复制
MySQL 数据复制MySQL支持两种数据复制的方式,基于行的复制和基于语句的复制。基于语句的复制也称为逻辑复制,在3.23版本中就存在,基于行的复制是在5.1版本中才被加进来的。这两种复制方式都是通过在主库上记录二进制日志,在备库重放日志的方式来实现异步的数据复制。原创 2016-08-29 14:15:33 · 814 阅读 · 0 评论 -
linux替换运行程序或so动态库文件导致的问题
linux中替换运行中的程序或者so文件导致的问题原创 2016-09-22 23:12:34 · 9760 阅读 · 4 评论 -
表达式求值算法总结
表达式求值算法表达式求值,一般采用栈和队列的方式来求值,下面介绍表达式求值的两种算法。方法一、使用两个栈,一个为操作符栈OPTR(operator),一个是操作数栈OPND(operand) 算法过程: 当输入 3 * ( 4 - 1 * 2 ) + 6 / ( 1 + 1 )时,为简单方便,我们输入时,按照字符的顺序一个一个的处理,比如ch = getchar()然后根据c...原创 2016-09-18 16:00:14 · 18228 阅读 · 3 评论 -
二叉树学习总结
描述了二叉树的性质,二叉树的遍历方法,线索二叉树以及哈夫曼树的构造和遍历原创 2016-09-21 20:25:58 · 846 阅读 · 0 评论 -
redis 集群搭建详细过程
搭建redis集群的详细过程原创 2017-01-05 19:56:50 · 678 阅读 · 0 评论 -
关于字符、字符集、编码和Unicode
UTF-8是Unicode的一种实现方式。而Unicode是一种字符集。本文介绍了Unicode和Unicode的集中存储方法,同时介绍了Unicode与UTF-8编码的转换方法。原创 2016-12-29 21:47:04 · 905 阅读 · 0 评论 -
redis源码分析 - 复制
redis 复制方式,在现在的版本中,有 full resynchronization 和 partial resynchronization 两种方式。本文主要介绍这两种复制方式。原创 2017-02-28 21:26:15 · 1073 阅读 · 0 评论 -
linux学习总结(一)
对最近几天学习的linux 的一个简单总结。原创 2015-08-22 22:28:26 · 460 阅读 · 0 评论