Rookie2

1st Edition

导航

2012年12月2日 #

虚函数表

摘要: 1 预备知识函数指针返回值类型(*指针变量名)(参数列表…); // void (*fun)(int x);typedef 返回值类型(*指针变量名)(参数列表…); // typedef int(*Fun)();2 开始虚函数表的指针在对象实例中最前的位置(指针, 占4个字节).获取虚函数地址:先取得对象地址, 取出地址中存的地址值. 取出地址值指 向的内存.即为第一个虚函数的地址, 加1参考资料: http://blog.csdn.net/haoel/article/details/1948051/ 阅读全文

posted @ 2012-12-02 19:18 Rookie2 阅读(181) 评论(0) 推荐(0) 编辑

2012年11月17日 #

数据对齐问题

摘要: #includetypedef struct node1{ short s; // 2 bytes double d; // 8 bytes char c; // 1 bytes}A1;typedef struct node2{ char c; // 1 bytes short s; // 2 bytes double d; // 8 bytes}A2;void main(){ printf("%d\n", sizeof (A1)); // 结果 24 printf("%d\n", sizeof (A2)); // 结果 16 ... 阅读全文

posted @ 2012-11-17 12:38 Rookie2 阅读(205) 评论(0) 推荐(0) 编辑

2012年11月11日 #

i++和++i

摘要: 今天看到一个C语言的面试题: 1 #include<stdio.h> 2 3 #define PRODUCT(X) (X*X) 4 5 int main() 6 { 7 int i = 3, 8 j, k; 9 j = PRODUCT(i++);10 k = PRODUCT(++i);11 12 printf("j = %d, k = %d", j, k);13 }先说答案吧:j = 9, k = 49我本来觉得自己C学的还不错的, 可是上来一算,j = 3 * 4 = 12, k = 6 * 7 = 42. 跟答案差的太远了, 我又算了几下... 阅读全文

posted @ 2012-11-11 14:19 Rookie2 阅读(929) 评论(0) 推荐(0) 编辑

2012年10月28日 #

简单理解面向对象程序设计(Object-Oriented Programming)

摘要: Object-Oriented Programming = Object + Classification + Inheritance + Communication with messages 是对现实世界的理解和抽象 Object:是属性及其操作的封装体,能够标识自身. Classification:把具有一致的特征(属性)和行为(方法)的对象抽象成类 Inheritance:子类共享父类的数据和方法,是类间的一种关系,提高重用性 Communication with messages: 方法的调用 类(clss): 具有相同特征和行为的对象的抽象,归纳能力 对象(object): 类.. 阅读全文

posted @ 2012-10-28 14:03 Rookie2 阅读(299) 评论(0) 推荐(0) 编辑

2012年10月27日 #

ODBC API编程前夜

摘要: Part.1 英文缩写ODBC(Open Database Conectivity)DSN(Data Source Name)Part.2 所需头文件和库sql.hsqlext.hodbc32.libPart.3 ODBC函数概述所有的ODBC函数都是以SQL开头ODBC中SQL语句执行有2种方式:直接执行和准备执行例如:Select * from test_table并调用SQLExecDirect执行,准备执行是指先提供一个SQL语句并调用SQLPrepare,然后当语句准备好后调用 SQLExecute执行前面准备好的语句。准备执行多用于数据插入和数据删除,在进行准备时将由ODBC驱动程 阅读全文

posted @ 2012-10-27 13:40 Rookie2 阅读(344) 评论(0) 推荐(0) 编辑

2012年10月26日 #

github之文件的三种状态关系

摘要: github中的文件的基本状态有三种:Modified, Staged, Committed下图说明了三种状态间的关系图上所列如有不到之处,还请指正. 阅读全文

posted @ 2012-10-26 22:03 Rookie2 阅读(329) 评论(0) 推荐(0) 编辑

github前夜-版本控制(VersionControl)

摘要: (本文参考自《progit》一书)头一次听说版本控制这个词的时候, 一头雾水, 什么是版本控制? 它是干什么用的?...起初我理解的词面意思, 是不是对一个软件的版本的控制呢? 如VS2012, Photoshop CS5, QQ2012 beta...这一类的软件版本的控制问题呢?当然我的理解是错误的.What is version control ? 在Pro Git一书中是这样说的:"Version control is a system that records changes to a file or set of files over time so that you c 阅读全文

posted @ 2012-10-26 16:51 Rookie2 阅读(1394) 评论(0) 推荐(0) 编辑

2012年9月28日 #

Windows Socket编程笔记之最简单的小Demo

摘要: Windows Socket编程的大致过程:服务器端:----过程-------------对应的API-------0.初始化 | WSAStartup()1.创建Socket | socket()2.绑定Socket | bind()3.监听 | listen()4.接受连接 | accept()5.接收/发送数据 | recv()/send()6.关闭socket | closesocket()7.释放资源 | WSACleanup()_____________________________________客户端:0.初始化 | WSAStartup()1.创建Socket | soc 阅读全文

posted @ 2012-09-28 16:45 Rookie2 阅读(957) 评论(0) 推荐(0) 编辑

Windows Socket编程笔记之字节序及相关函数

摘要: 字节序(Endianness): 指多字节数据在计算机内存中或是网络传输中所使用的存储顺序. 一般有大端(big-endian)和小端(little-endian)两种顺序 大端:地址的低位,存值的高位 小端:地址的低位,存值的低位 如下是一个32bit数0x0A0B0C0D采用大端和小端顺序存储的区别 内存地址: 00 01 02 03 大端表示: 0A 0B 0C 0D 小端表示: 0D 0C 0B 0A 主机字节序(Host Byte Order): 主机字节序和本地主机的所使用的CPU有关,例如x86系列处理器采用的是小端(little-endian)顺序,而Motorola 68.. 阅读全文

posted @ 2012-09-28 16:31 Rookie2 阅读(2743) 评论(0) 推荐(0) 编辑

2012年9月27日 #

二路归并排序(Merge Sort)

摘要: 归并排序,可分为递归(分解)和合并两个操作过程.1.递归操作过程(分解序列)将一个序列分成两个序列将两个序列分成四个序列...直到将长度为n的序列分为n个不可再分的子序列后停止再分,此时每个子序列中都只含有1个元素.可视该子序列为一个有序序列.对两两相邻的两个有序子序列进行合并操作,得到的每个有序序列中都含有2个元素.将得到的有序序列再次进行合并操作,得到的每个有序序列中都含有4个元素....直到合并了所有的有序序列时为止,则得到了结果.2.合并操作过程(合并序列) 摘至:http://zh.wikipedia.org/wiki/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%B 阅读全文

posted @ 2012-09-27 14:24 Rookie2 阅读(792) 评论(0) 推荐(0) 编辑