C语言进入开发手机应用的最速学习指导.doc_第1页
C语言进入开发手机应用的最速学习指导.doc_第2页
C语言进入开发手机应用的最速学习指导.doc_第3页
C语言进入开发手机应用的最速学习指导.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言进入开发手机应用的最速学习指导本文由lilitrabbit贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 3g 的到来,智能手机越来越普及,手机全球几十亿的用户,未来的市场将是极大的,随着 苹果的移动互联网终端软件商店,在欧美获得巨大利益之后,google、微软、nokia、三星都 开始准备效仿其运营模式。 作为一个 c 和 c+程序员,在现今这个大环境下,绝对不能袖手旁观,手机应用是我们现在 出手创业的好机会, 前两年我一个朋友用 c 和 c+为手机开发了一个 mad 游戏, 不到一年的 时间就得到了融资商的亲睐,等到 200 万的投资,这是我十分震惊,我也准备自己创业。 我有对 google、微软、nokia、三星的运营模式进行了一下了解,最近我注意到 iphone 的商 业模式,由于苹果公司对网上商店软件监控十分宽松,造成,几万水平参差不齐的软件等待 下载,你有再好的软件,对于小的开发团队,已经没有挣钱的希望了。 经过对比, 发现三星公司现在在中国的手机软件销售模式十分有趣, 现在似乎只有三星公司 针对中国制定的政策, 他们在中国现在正在收集优秀的手机软件, 而且还帮助所有提供者 (不 论团体或公司大小)提高和完善软件应用,在商业分成上也十分厚道,我觉的是个好机会。 说了这么多如果不会手机开发, 我们的创业梦想都是白费, 所以我开是下定决心进入手机应 用开发领域。我认为 C 程序员在手机应用领域是有着其他程序员不可替代的优势的,很多 手机的深层次开发都要用 c 和 c+.所以我信心满满的给大家介绍一下手机应用的快速学习 方法: 现在了解一下最流行的 Symbian 系统,Symbian 在全球智能手机中占有绝对的数量优势, 而 Symbian 的主要开发语言正好是 C 和 C+,真是天助我们,三星移动创新者园地中文网 站:/index,为初学者准备的经过优选的丰富的学习资料和 三星工程师分享的自己的开发学习经验。先看看下面的帖子链接。 1.Symbian OS 初探: /bbs9 2.Symbian 入门贴: /bbs10 3有很多教学视频,手册和一些初级精品电子书籍,例如: “C 语言入门经典” 我看了下,, 感觉应该是同类型书中比较经典的,三星工程师根据自身经验给大家精选出来的,格式都是 PDF 的,方便阅读和下载。 4.手机开发环境的部署: 手机开发环境的部署对于刚开始学习的人也很重要的,也有 PC 开发转手机开发帮助手册和 PC 开发转手机开发入门知识.例如:如何配置编辑环境,到如何搭建手机系统环境,再到编写出 第一个 HELLO WORD 程序(程序写好后,还可以在网上预约真机测试),每一个步骤都有很详 细的配置和解决问题的方法.一般 Symbian 安装配置环境的顺序是: (1)Series 60 2nd FP3 (2)ActivePerl-35-MSWin32-x86.ms (3)jdk-1_5_08-windows-i586-p.exe (4)Carbide C/C+ 1.2 WM 环境搭建比较简单,但如果是第一次自己搭建 Symbian 系统环境和 J2me 环境的话可能会 碰到很多让你抓狂的问题.三星中文网上的帮助文档会让你少走很多弯路,手册全是全中文的. _ 还有最最重要的一点是据说有些优秀软件开发爱好者,将有机会进入三星相关领域公司工作, 我想这应该是每一个软件开发人员都有的梦想吧.从而让我下定决心转行做手机开发. 转行的这半年左右时间里,经历过不少辛酸和坎坷,幸好有三星 BBS 的专业工程师们,帮我解 决了一个又一个的技术难题和开发思路,在此表示感谢. 下面写点在 Symbian 系统上 C 工程师需要特别注意的地方: (1)首先 PC 平台和手机平台还是有区别的,虽然手机平台中也支持 C 语言,移植也不很是麻烦, 但要考虑 C 语言和 C语言的混合编程问题,因为在 UI 层肯定是要以 C语言来设计 的,UI 层中的代码无法被移植,必须结合平台上的 UI 设计方法来设计,而 UI 层中要实现的功 能可以用 C 语言来实现,所以要考虑好哪些应该用 C来设计,哪些应该用 C 语言来设计, 如果出现 C 语言中的代码调用 C中的代码(这种情况应该尽量避免),则该 C 语言的代码 必须用 C来编译,用 C来编译的文件名最好以“CPP”为扩展名,在 C+中引用 C 的代 码是最好加上extern “C” ”,在用 C 编译的头文件中要有这样的修饰: #ifdef _cplusplus extern C #endif #ifdef _cplusplus #endif; (2)在程序退出之前要调用 CloseSTDLIB(),以释放所有缓冲,该函数在“reent.h”文件中; (3)在 MMP 文件中要加入“estlib.lib”,该 LIB 库是 C 标准语言的 LIB 库; (4)Symbian 中的 STDLIB 并没有完全实现 POSIX 的全部标准,所以有些 C 库的函数要自己 实现或用其它方法来替代; (5)在 C 语言工程中最好不要有可写的全局静态变量(Global Writeable Static Data),在有些 手机版本中是不支持全局变量的,但可以有全局静态常量,对于全局指针常量注意要这样申明, 例如:static const char* const,即要有两个“const”.如果有出现全局静态变量或静态常量,则在 MMP 文件中要加入“EPOCALLOWDLLDATA”标识,否则会出现编译错误.对于可写的全局静 态变量有种处理方法是把所有全局变量放到一个 STRUCT 结构中,然后这个结构的指针用 Dll:SetTls()和 Dll:Tls()来存取,存在的问题是用 C 编译的代码中无法调用 C的这种方法, 还有一种最笨的处理方法是把指针的值存入一个文件中;呵呵.这种方法估计一般人不会用. (6)在 C与 C 的交互接口中会存在如 char*与 TdesC 之间的转换,可以这样转换,例如: 把 TDesC 转换成 char*: HBufC8* utf8TempText = HBufC8:NewLC(STRING_LENGTH); TPtr8 utf8Text(utf8TempText-Des(); CnvUtfConverter:ConvertFromUnicodeToUtf8(utf8Text,TDesCString); Char* cString = (char*)utf8Text.Ptr(); 把 char*转换成 TPtr: TPtr8 utf8Text(TText8*)cString,strlen(cString),strlen(cString); HBufC* ucs2TempText = HBufC:NewLC(utf8Text.Length()*2); TPtr ucs2Text(ucs2TempText-Des(); CnvUtfC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论