`
文章列表

Sqlite源码研究1

最近想深入的分析一下语言的编译的过程和数据库方面的东西,一个sql语句可以写的非常复杂,于是乎觉得有必要动手分析下SQLITE的源码。 1:初始化   2:sql解析 SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg) sqlite3Parser 主要的解析函数   3:内存管理 4:文件管理

谈谈学习

      说起学习,自认为是个爱学习的人,也想做一个爱学习的人。小的时候就认为那种活到老学到老的人,很潇洒,很是让人羡慕。但是一直“成绩”不是很出色。总想静下心来分析分析原因,但是一直不曾有这个机会。今天看云风大哥的 顿悟 ,便静下心来想想。 一直 觉得自己是个有独到见解的人,可是很多时候还是跟在别人的后面,重复别人的见解,很少做到独到。原因自然是自己独自分析,独自思考远远不够,总是在一种 觉自我良好的状态下学习者,可是没有成体系。在读书的时候总是有种急功近利的感觉,不是出于兴趣,追求进度和没有追求深刻。过了眼睛却没有深入内心,云风说的 “与我来说,学会的 ...
1:http协议返回的限制,请求的限制。 2:byte字符编码的问题。 3:顺序关系
C#中有委托,actionscript中有 function类型等这些于C语言中的函数指针有什么关系呢,在汇编中又是怎么样对应的呢?今天我们来总结一下: ActionScript:   java   C#   delegate void dosomething(string name); class demo { public void test(string name) { System.Console.WriteLine(name); } } class Pr ...
在IO设置中CPU对内存的操作都是主动的,CPU去读内存和写内存。对其他IO设备比如网卡、键盘、鼠标等,cpu去轮询每个设备的状态,那系统会运行的很慢,而且这些设备和cpu的交互不是很频繁。于是引入了中断机制。当这些设备有事件发生(比如键盘有按键按下,网卡有数据包到达等)时会引发一个中断,每个设备都有一个中断号。(主要设备的中断号是多少呢)。然后CPU转向预定的代码去执行。            七层协议,中Http和Tcp协议的关系: Http协议传输长度的限制,Response和Request的限制   疑问:比如多个进程在监听键盘设计,比如QQ的失去焦点之后的快捷键,等,操 ...
在程序的运行过程中难免会出现异常,很多时候由于对异常的理解和应用不到位,导致程序不稳定,更可怕的是程序在错误的数据环境下长时间的运行。那么我们应该怎样对待异常,操作系统又是怎么样处理异常的呢?
我们平时编写程序,调用各个语言的网络编程接口(Socket等),一个数据的流向和行为是怎么样的呢?我们今天做一个探析。 我想了解的内容主要包括以下: (1)我调用Socket接口后,数据的封装是怎么样的; (2)到网卡的过程中缓冲区和IP协议是如何工作的; (3)IP协议又是如何把数据包从一个网卡经过多个关卡(各个路由器、网线、网关等)到达另外一个网卡,如何到达对方的缓冲区。 (4)跟对方进程如何进行会话控制。   参考资料:深入理解计算机系统(第二版)                计算机网络编程  
在做sql join 连接时需要注意的问题,如果2个表不是百分之百同时有记录的时候要用left或者rightjoin。如果连接出来要做不等于的排除运算时注意 null的判断,因为当两个表不是同时存在问题时,缺少数据的一个表连接出来的数据是null。
在linux中可以用fork创建进程,当我们双击应用程序,操作系统发生了什么呢?用一个加载器加载可执行文件,在win32平台,可执行文件的格式是固定的,所以加载器应该是操作系统自带的加载器。如果要执行别的平台的可执行文件,也不是没有可能,但是要实现一个加载器,去读取可执行文件。 加载器跟进程是什么关系呢?? 如果实现自己的加载器?   还记得JVM的加载器吗?默认的加载器,自定义的加载器。   那Dotnet的加载器呢?Mono的加载器呢?  
要创建一个控件,并且让这个控件加到parent container里面的时候,他的句柄才算创建,否则老是用线程等待是不会成功的。 现象:在启动一个线程线程任务是否及时办理的线程中,往控件写信息的时候老是出现错误。   在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。   错误发生在这句代码上:   gridControl1.BeginInvoke(dd, list);   后来采用让线程等待主界面加载完毕的时候执行,还是报同样的错误。这时候发现时句柄根本没有创建好。那么我何不在确定已经创建完UI的各个句柄后在启动线程呢?于是我移动了代码,让他 ...
struct student { char* name; int age; int collage; }; static void WriteAndChangeStudent(struct student data) { fprintf(stdout,data.name); data.age = 109; printf("%d",data.age); } int main(int argc, char **argv) { struct student* one = new student(); memset(one ...
      参考文章: http://www.iteye.com/topic/473874 虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 HOTSPOT源码体系结构分析   Openjdk和 Oracle Jdk的关系    
static void Main(string[] args) { ClassA c1 = new ClassA(); ClassA c2 = new ClassA(); Console.WriteLine(ClassA.index); Console.ReadKey(); } class ClassA { public static int index = 0; ...
从汇编级别了解高级语言的执行过程,下面的汇编代码都是VS的反汇编代码,对比可以看出不同的执行方式在汇编上的差异,现在从最简单的开始。 1:先考察传值和传引用在汇编上的差异。   A:简单类型 int show(int m) //此处int show(int& m) { int n = m*5; return n; } int _tmain(int argc, _TCHAR* argv[]) { int n = 90; int result = 0; result = show(n); result = result *4; int ...
firefox     源码下载: ftp://ftp.mozilla.org/pub/mozilla.org 开发者: https://developer.mozilla.org/   Linux http://www.kerneltravel.net/kernel-book/%E6%B7%B1%E5%85%A5%E5%88%86%E6%9E%90Linux%E5%86%85%E6%A0%B8%E6%BA%90%E7%A0%81.html   Mono http://mono-project.com/Main_Page    
Global site tag (gtag.js) - Google Analytics