摘要: 为了避免在项目中重复定义,一定要遵守“头文件中声明,源文件中定义、实现”,在需要的地方进行extern声明。比如在一个头文件中声明了一个数组,源文件中使用了这个数组,在main文件中也使用了这个数组,那么这个数组放在头文件中将会在link中出现重复定义。解决的方法就是在源文件中进行数组的定义,在main文件中进行extern声明。头文件#pragma once#include <cmath>#include <cstring>#include <assert.h>typedef double(* PtrFun)(double);const int maxId 阅读全文
posted @ 2013-05-16 09:36 大器天下 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 操作系统的任务调度房间内有N-1个群众,1个明星,群众之间的认识情况未知,所有的群众都认识这个明星,现在有一个机器可以问一个人是否认识另一个人,效率为O(1),请设计一个算法在N个人中找出这个明星。前线战场有N个战士,每个战士都掌握了一些情报,战士之间的交流(比如打电话)可以交换双方的情报。请设计一个算法使得所有的战士都获得所有的情报,而且交流次数最少。如下图,淘宝一个皇冠商家,在全国有很多个仓库,这些仓库为环状连接,但是一开始这些仓库的存量都不同,请设计一个算法,使得所有的仓库的存量都相同,而且运费最少,货物只能在相邻的仓库之间移动。 阅读全文
posted @ 2013-05-06 10:10 大器天下 阅读(305) 评论(1) 推荐(0) 编辑
摘要: ZigBeeZigBee技术是一种短距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术。技术特点与优势低功耗。两节5号干电池可支持1个节点工作6~24个月低成本。ZigBee设备控制代码少,协议免专利费,芯片价格低,不足2$高容量。ZigBee网络可采用各种网络结构,最多可组成65000个节点的大网协议简单。ZigBee协议栈平均只有Bluetooth或其他IEEE802.11的1/4低速率。工作在20~250kbps近距离。传输范围在10~100m之间,不过可以通过增大功率和中继节点来实现远距离传输短时延。响应速度快,从睡眠转入工作状态只需要15ms,节点连接进入网络只需30ms安 阅读全文
posted @ 2013-04-25 11:21 大器天下 阅读(449) 评论(0) 推荐(0) 编辑
摘要: scanf函数声明形式:int scanf(char *format, ...);scanf函数从标准输入中读取字符序列,按照format中的格式说明对字符序列进行解释,并把结果保存在其余的参数中。当scanf函数扫描完其格式串,或者碰到某些输入无法与格式控制说明匹配的情况时,该函数终止,返回成功匹配并赋值的输入项的个数。这里有一个有意思的程序:#include int main(){ char str[80]; char str1[80]; char str2[80]; scanf("%s",str);/*此处输入:I love you! */ pri... 阅读全文
posted @ 2013-04-23 22:57 大器天下 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 实验室一万年不开一次会,偏偏今天要开会,而且时间和面试的时间还是冲突的,不管了,果断去面试。路上的各种情况按下不表。908房间,进去是一个30左右的小伙,人很和善。首先他做了自我介绍,我紧张的还以为是要我做自我介绍(汗)。他是腾讯浏览器开发方面的,主要是移动端的浏览器。他们只负责招聘,具体岗位到了公司再说。完了让我做一个自我介绍。正式面试开始以下是我记得的一些问题。1、指针和引用的区别是什么?非空区别。引用不能指向空值得引用,而且引用在定义的时候就进行初始化。指针则可以指向空值,即不指向任何地址。合法性区别。在使用引用之前不检测它的合法性,而指针则应该总是被测试,以防为空。可修改区别。指针可以 阅读全文
posted @ 2013-04-19 18:19 大器天下 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 消息队列 由于Windows程序是多任务的,每个程序并不能独占窗口,为了区分用户和不同程序之间的交互,设计了事件导向机制。这样每个应用程序都有两个主要的部件:WinMain函数,程序的入口点;和WinProc函数,程序的回调函数,用于系统调用。 每个Windows程序在创建的时候,操作系统都会创建一个相应的消息队列,存放隶属于次窗口的消息。我们的工作就是对每一个可能产生的消息在回调函数中进行处理。 消息分为队列消息和非队列消息,队列消息由Windows发送到消息队列中,非队列消息由Windows直接发送给消息处理函数WindProc。队列消息基本上是使用者的输入,非队列消息一般都是程序调... 阅读全文
posted @ 2013-04-17 01:04 大器天下 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 枚举是一个常量整型的列表,如enum boolean {NO, YES};则,第一个值为0,第二个值为1类型转换:自动转换:将“比较窄的”操作数转换为“比较宽的”操作数,且不丢失信息。当把较长的整数转换为较短的整数或char型时,超出的高位部分将被丢弃。强制类型转换只是生成一个指定类型的n值,n本身并没有改变,如sqrt((double)n);浮点数在内存中的表示:http://www.cnblogs.com/xkfz007/archive/2012/02/27/2370357.html浮点数二进制与十进制的转换:http://www.cnblogs.com/xkfz007/articles/ 阅读全文
posted @ 2013-04-15 16:10 大器天下 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 为什么有大端小端? 这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如果将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。例如一个16bit的short型x,在内存中的地址为0x0010,x的值为0x1122,那么0x11为高字节,0x22为低字节。对于大端模式,就将0x11放在低地址中,即0x0010中,0x2. 阅读全文
posted @ 2013-04-15 10:46 大器天下 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 今天把Sipdroid在手机上跑起来了,下面记录这次过程。首先下载yate服务器http://yate.null.ro/pmwiki/index.php?n=Main.HomePage到上面的yate主页下载到适合Windows的服务器,然后添加用户,启动服务。之后将手机上面的账号设置好,服务器那里直接填IP。最后在另一台电脑上装好yate,就可以实现通话了不过这个过程中碰到了点问题,首先是501错误,后来不知道怎么好了,等继续深入研究的时候再解决吧。还有个问题就是延迟比较大,音质比不上电话网络,估计是手机的3G网络不给力,在wifi环境下应该会好一点。不过随着无线通信的数据速率越来越高,这个 阅读全文
posted @ 2013-04-02 03:45 大器天下 阅读(498) 评论(1) 推荐(0) 编辑
摘要: 计算机上的非数值处理的对象基本上是字符串数据,所以很有必要专门学习一下串。串的逻辑结构和线性表极为相似,区别在于串的数据对象约束为字符集。操作通常针对串的整体,如在串中查找某个子串。串的最小操作集串赋值串比较求串长串联接求子串串的表示与实现定长顺序存储表示堆分配存储表示(实现存储长度的动态增长)块链存储表示串的模式匹配算法基本的匹配代码#include <stdio.h>#include <stdlib.h>int my_length(char* string){ char * end = string; while(*end != '\0') end+ 阅读全文
posted @ 2013-04-02 01:15 大器天下 阅读(190) 评论(0) 推荐(0) 编辑