![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
系统学习
饭来张
多年导航软件的开发经验。对导航模块中,routing,guidance,search都有深入的研究。对数据的二进制格式设计有多年的设计经验。深入理解GDF格式。对数据编译流程设计也有多年经验。总之,
展开
-
TLS(Thread Local Storage)线程本地存储
最近开始看些多线程设计。总体觉得,如果只是单单想达到多线程安全的目的,通过加锁很容易实现。多线程的难点在于,如何实现最大的并行度,即如何确定加锁区段,使尽可能多的线程可以工作,而不是简单的给一个大函数整个加锁。 其中提到过TLS,线程本地存储。windows的实现关联到4个函数: (1)TlsAlloc 返回一个index,标示一个存储空间。一个存储空间包原创 2013-04-08 11:15:13 · 796 阅读 · 0 评论 -
数据分层:论导航中路网数据如何提层
在导航中,路网数据是最重要的数据类型。在实际的使用过程中,我们总是会对路网数据进行分层,高层的数据会更少,留下的道路也更重要。对长距离路径规划,使用高层路网数据可以加快数据的加载和路径的演算。同时,在大比例尺地图显示模块中,只显示最重要的道路,既能加快显示速度,也符合用户习惯。合理有效的分层可以大大提高导航软件的品质。 分层考虑的2个方面: 1,道路的等级是分层的时候原创 2013-09-05 14:15:35 · 1345 阅读 · 1 评论 -
准备写些clucene笔记
最近在看clucene的源码(不太会java,还是看c++的代码入门比较快。并且c++版本要简单些)。打算写点笔记记录下。 clucene最新的版本是2.3版本,我开始从这个版本看,代码优点多,不太好投入进去。先找了个0.8版本的clucene,这个版本果然简单多了,同时bug也比较多。这也是一个读源码的一个经验。从最早的一个版本来入门,速度上会快很多。 用vs2原创 2014-02-08 15:51:23 · 737 阅读 · 0 评论 -
clucene(一):总体结构
先了解下文件结构: 一个完整的数据集合对应到一个目录。也就是说,如果你想打开一个数据集合,传入一个目录名就可以了,这个目录下面所有的文件是一个整体。 一个数据集合可以分成多个segment,一个segment对应了多个文件(这些文件的文件名相同,但是文件扩展名不同,也就是文件名表示这个文件属于哪个segement,扩展名表示这个文件存储了啥内容)。segment的文件名有固定的命名规则。一般从原创 2014-02-10 16:20:15 · 802 阅读 · 0 评论 -
C语言中的怪异声明
去面试的时候,总是问到C语言中的怪异声明,比如指向函数的指针,指向数组的指针,指向返回类是函数指针的函数的函数指针数组,。。。。。。。反正一大堆有的你搞头了。 比如: 1, int (*p)[10]; 2, int(*p)(int); 3, char* const *( * next ) ( ); 4, void ( *signal( int sig, void(*fu原创 2013-07-15 09:44:52 · 87 阅读 · 0 评论 -
postgresql数据库学习
在数据库中,现在都是指定为utf8来存储。原创 2014-05-13 09:16:15 · 862 阅读 · 0 评论