求教:如何让自己开发的程序像GPS导航仪上的凯立德地图一样可以通用于所有系统

哈哈潜伏哥 2009-10-29 11:48:34
最近准备开发一个用于WINCE下的程序。
一开始的时候,我准备在.NET CF上开发这个程序,但开发出来的程序遇到很多问题,最重要的问题就是不能通用于所有导航仪,也就是说,如果导航仪装有.NET CF框架,程序则可以运行,如果没有装,就不能运行。

我现在的问题是,如果能让自己开发的程序向凯立德一样能运行于所有WINCE系统啊。

顺便问一下,有了解凯立德地图的吗,我现在很想知道凯立德的地图是在什么平台开发的,是用什么语言开发的。

希望高人指点,感激不尽
...全文
562 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈哈潜伏哥 2009-11-24
  • 打赏
  • 举报
回复
多谢各位,我大概明白了。谢谢
ProgrammerNO1 2009-11-17
  • 打赏
  • 举报
回复

”凯立德就是用EVC开发的吗或者说,用EVC开发的程序是不是,可以通用于WINCE平台呢“

大致情况是这样,改动不会太多
哈哈潜伏哥 2009-11-16
  • 打赏
  • 举报
回复
期待高手,都这么久了。
哈哈潜伏哥 2009-11-02
  • 打赏
  • 举报
回复
自己顶一下,期待高手指点迷津
哈哈潜伏哥 2009-11-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ultrapro 的回复:]
引用 1 楼 ultrapro 的回复:
不同的平台多数代码都是不一样的,最多也就是核心的算法是相同的,不同平台还有不同的优化。
怎么可能一套代码,到处运行呢?
凯立德的多数是用c开发的,最多在加上的C++,其他的就不知道了。


evc
[/Quote]

感谢回复,凯立德就是用EVC开发的吗或者说,用EVC开发的程序是不是,可以通用于WINCE平台呢
儿大不由爷 2009-10-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ultrapro 的回复:]
不同的平台多数代码都是不一样的,最多也就是核心的算法是相同的,不同平台还有不同的优化。
怎么可能一套代码,到处运行呢?
凯立德的多数是用c开发的,最多在加上的C++,其他的就不知道了。
[/Quote]

evc
哈哈潜伏哥 2009-10-31
  • 打赏
  • 举报
回复
哎,问个问题怎么这么难呢。我其实只想知道,用什么软件来开发WINCE上运行的程序,能够具有比较高的通用性。只要求在wince5和6上都能同时运行,屏幕是固定的。哪那么复杂,看来各位是把我的意思理解错了。
hhygcy 2009-10-30
  • 打赏
  • 举报
回复
每个平台的编译器肯定不一样的
人家么猜想有一定的抽象层次


比如说像这样


app level 逻辑 协议等等和平台无关的代码 模块
___________________________________________
abstraction layer (包括一些基础的类定义 比如int,或者数据结构)
___________________________________________
os windows mobile, symbian os, palm, brew...

这样基本上这些平台无关的代码都可以几乎代码保持一致, 然后保证那些公共的代码有专人维护就行
但是在各个平台编译使用的时候,还是需要各个平台各自分开编译
哈哈潜伏哥 2009-10-30
  • 打赏
  • 举报
回复
回一楼,感谢你这么晚还回答我的问题。
首先我想知道的是,凯立德是用什么软件开发的,比如我开发软件用VS2005等等。
再有就是,如果用C语言开发,那他用的什么编译器。
不知道我说的你明白不
儿大不由爷 2009-10-30
  • 打赏
  • 举报
回复
不同的平台多数代码都是不一样的,最多也就是核心的算法是相同的,不同平台还有不同的优化。
怎么可能一套代码,到处运行呢?
凯立德的多数是用c开发的,最多在加上的C++,其他的就不知道了。
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hhygcy 的回复:]
每个平台的编译器肯定不一样的
人家么猜想有一定的抽象层次


比如说像这样


app level 逻辑 协议等等和平台无关的代码 模块
  ___________________________________________
abstraction layer (包括一些基础的类定义 比如int,或者数据结构)
  ___________________________________________
os  windows mobile, symbian os, palm, brew...

这样基本上这些平台无关的代码都可以几乎代码保持一致, 然后保证那些公共的代码有专人维护就行
但是在各个平台编译使用的时候,还是需要各个平台各自分开编译
[/Quote]
友情支持
ProgrammerNO1 2009-10-30
  • 打赏
  • 举报
回复
学习~~~~
hhygcy 2009-10-30
  • 打赏
  • 举报
回复
我的感觉还是我们把问题应该说成 相同的代码(不是所有的代码) 可以为不同的平台来提供服务,而不是说你做一个软件就希望在各个平台上运行!最简单的问题,你一个不同的屏幕尺寸可能都可以让你有个新的版本
所以说精力可以放在抽象层上面,而并非简单的用什么软件可以做出凯立德来
哈哈潜伏哥 2009-10-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ch1oe 的回复:]
一般底层库为了调试方便、以及数据的准确有效,普遍采用的是RVCT。
不过一般而言,VS8系就够了。

想跨平台的话,LS已经说的差不多了。
基本都是通过一层平台封装层,来做到和平台的无关性。
然后每个平台实现一套shell即可。
不过底层的库基本都是一个平台一套的,当然,更准确的说,是一个型号的芯片就一套底层库的。

换句话说,你只看到了它软件的通用性,没看到它后面付出了多少努力。没有一劳永逸的事情啦。
[/Quote]

谢谢指教,我知道要实现通用性确实需要很多努力。我目前的想法是,想做一个很小的程序运行于wince上,并且能够通用于大部分WINCE系统,比如WINCE4.2,WINCE5.0,Wince6.0等等。不知道我要用什么平台来开发这个小软件才能达到我的目的呢
ch1oE 2009-10-30
  • 打赏
  • 举报
回复
一般底层库为了调试方便、以及数据的准确有效,普遍采用的是RVCT。
不过一般而言,VS8系就够了。

想跨平台的话,LS已经说的差不多了。
基本都是通过一层平台封装层,来做到和平台的无关性。
然后每个平台实现一套shell即可。
不过底层的库基本都是一个平台一套的,当然,更准确的说,是一个型号的芯片就一套底层库的。

换句话说,你只看到了它软件的通用性,没看到它后面付出了多少努力。没有一劳永逸的事情啦。
哈哈潜伏哥 2009-10-30
  • 打赏
  • 举报
回复
各位,我现在的目的主要是想知道,凯立德地图是用什么软件开发的或者用什么语言开发的。就我了解,wince平台上的程序通常都是由EVC4.0开发的,还有VS2005也可以开发wince上的程序。我就想知道,什么软件开发出来的软件,能向凯立德地图一样通用性很高。

790

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 其他移动相关
社区管理员
  • 移动开发其他问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧