sqlite源码剖析(一) 首先,我看完整个目录结构之后,我打算从sqlite的数据结构开始看起。 hash.h中定义了两个数据结构,Hash类包含以下成员struct Hash { char keyClass; /* 指示该hash是针对哪种基本类型而设置的,其设定4种 SQLITE_HASH_INT, _POINTER, _STRING, _BINARY */ char copyKey;
c++bug小结(一) 昨天打codeforces,碰到两个bug,在此总结。用一元二次方程求解公式的精度问题1、在这里用一元二次方程求解公式之后,由于数据较大极有可能造成精度不高导致转化int类型之后与实际结果差1或着差2。 如公式x*x+x-c>=0,求出满足公式的最小整数x。 这里用一元二次方程求解,由于精度的问题,导致无法得到正确结果。此时将公式转化一下 x*x+x > =c, 假设x*x+x =c, 则
除法的取模运算 逆元: 若,b*b1 % c == 1 则,b1称为b模c的乘法逆元。 在ACM中,许多除法取模都要用到求逆元。 但是,逆元,为什么能给我们带来 ( a/b ) % c == ( a*b1 ) % c ???(当然a/b要整除)要知道,取模等式等价变形中,是没有除法的!!!而推导式,还是没有用除法的地方!!!我们用反证法证明: 若b*b1 % c == 1,则( a/b ) % c != ( a
Epoll模型讲解 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传回来),这
正则表达式学习之一 这次爬取页面所用到的正则表达式 \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\r\t\v] \S 匹配任何非空白字符,等价于 [^ \f\r\t\v]。 \w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。 . 匹配除 “” 之外的任何单个字符 * 匹配前面的子表达式0次或1次 ? 匹配前面的子表达式零次或一次 + 匹配前
c++ Segmentation fault Warning 今天重新拾起c++ primer第五版复习了一下c++,看到第一章有一小处细节是之前没注意到的,特此补充。 “程序员常常在调试时添加打印语句。这类语句应该保证‘一直’刷新流。否则,如果程序崩溃,输出可能还留在缓冲区中,从而导致关于程序崩溃位置的错误推断“。 结合之前,我也经常使用过打印语句来调试代码,当出现段错误有时定位到程序错误位置,有时定位不到。才发现原来输出时是有一个与设备关联的缓冲区(b
windows下使用Critical Section和Mutex实现线程同步实例 利用critical section 和 Mutex两种不同的线程同步的方法实现生产者消费者问题。生产者线程要能够对一个计数器进行增的操作,并且将其输出在控制台上,消费者线程能够对这个计数器进行减的操作,并将其输出在控制台上。两种线程都共享一个计数器。 其中增、减计数器的数我设置为1~6随机。测试两种方法的对比,用网上整理出的一张表如下1、使用CriticalSection 方法时,有一个临界区c
c语言文件读写(fread,fprintf) 利用fread进行成块的文件读写 int fread(void *buf,int size,int count,FILE *stream) int fwrite(void *buf,int size,int count,FILE *stream) fread()函数从stream 指向的流文件读取count (字段数)个字段,每个字段为size(字段长度)个字符长,并把它们放
多周期cpu设计(verilog) 由于之前设计过单周期,所以这里很多模块都是类似的 我是把所有数据选择器的模块都单独拿出来,这里主要有 32位的4选1数据选择器,5位的3选1选择器,32位的2选1选择器,对于pc+4、j和jal指令跳转的pc值都单独变成一个模块 上代码 写control unit时要根据不同的指令并且不同的状态发出不同的信号,其他信号为默认信号`timescale 1ns / 1ps/////////
[codeforces]#350F. Restore a Number F. Restore a Number time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard outputVasya decided to pass a very large intege
[codeforces]#350E. Correct Bracket Sequence Editor E. Correct Bracket Sequence Editor time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard outputRecently Polycarp sta
MAC OSX10.10上搭建Apache,PHP,MySQL5.6.22,phpMyAdmin开发环境 apache的配置apache已经自带了,只需如下三个命令就可以了。 开启apache服务 sudo apachectl start 停止apache服务 sudo apachectl stop 重启服务 sudo apachectl restart 查看版本 httpd -v手动打开apache服务后,在浏览器输入localhost,将看到如下: 程序的根目录在/Libra
Linux下搭建SVN服务器 1、在进行svn服务器环境搭建之前首先用终端命令连接到服务器上。 在打开的终端页面,输入如下代码: ssh user@hostname 注:上边代码为固定格式,其中 user 为 linux 服务器的管理员名称 hostname 为 linux 服务器的IP 如: ssh haibor@1.2.3.4 如此就可以在mac一样远程登录管理你的linux服务
sicily1142(深搜加剪枝) 数据结构期末考试最后一道题,到现在才写出来哈。。 还是因为看了《编程之美》这本书一摞烙饼的排序问题之后才写的。 看完编程之美,才发现这道题原来这么坑。没有在多项式复杂度的解法。 然后我首先用编程之美类似的方法,导致time limit 《编程之美》书中的方法是先给定的upperbound为2*countn-1 当dfs之后有比upperbound小的再动态修改upperbound, 这样
c语言编写简单shell解释器 在windows开发环境下写一个简单shell解释器 1、输入一个exe可执行文件路径或命令后能启动该程序 2、输入txt文本文件的路径,能打开该文本文件中所指定的若干exe程序路径及命令打开程序首先要弄清shell解释器其实就是一个exe文件,在这个程序输入正确 命令,就有相应操作执行。接着启动程序其实就是在系统中创建进程, 用win32的api CreateaProcess()函数借口实
codefoces_#346E - New Reform(并查集或dfs) E. New Reform time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Berland has n cities connected by m bidirectional roads. No road connects a c
tcp-h数据&postgresql查询(数据库学习之二) 首先要了解好tcp-h各个表之间的关系,才能更好的查询我们想要的信息。 这里附上关系图的链接 理清所有表各自的联系,我就为大家翻译一遍吧(只能是大概意思) region 地区、范围的意思 nation 国家 supplier 供应商 customer顾客 orders 订单 lineitem 订单详情联系 part 产品 partsupp产品供应商 ship 运输Q1:Disp
TPC-H数据导入postgresql教程 将tpc-h中生成数据载入postgresqlpostgresql & tpc-h(dbgen)1、做实验之前的配置a、首先在mac下安装postgresql 终端命令 brew install postgresql -v 若出现Error: Cannot write to /usr/local/Cellar 可以输入以下命令进行解决 sudo chown -R $USER /usr/l
[codeforces]Goodbye_2015 F. New Year and Cleaningime limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Limak is a little polar bear. His parents told him to clean a house
[codeforces]Goodbye_2015 611E - New Year and Three Musketeerstime limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Do you know the story about the three musketeers? Anywa