C语言进入开发手机应用的最速学习指导

文章描述:-2022年4月13日发(作者:卓仁禧)C语言进入开发手机应用的最速学习指导3g的到来,智能手机越来越普及,手机全球几十亿的用户,未来的市场将是极大的,随着苹果的移动互联网终端软件商店,在欧美获得巨大利益之后,google、微软、nokia、三星都开始准备效仿其运营模式。作为一个c和c++程序员,在现今这个大环境下,绝对不能袖手旁观,手机应用是我们现在出手创业的好机会,前两年我一个朋友用c和c++

-

C语言进入开发手机应用的最速学习指导
2022年4月13日发
(作者:卓仁禧)

C语言进入开发手机应用的最速学习指导

3g的到来,智能手机越来越普及,手机全球几十亿的用户,未来的市场将是极

大的,随着苹果的移动互联网终端软件商店,在欧美获得巨大利益之后,google、

微软、nokia、三星都开始准备效仿其运营模式。

作为一个c和c++程序员,在现今这个大环境下,绝对不能袖手旁观,手机应用

是我们现在出手创业的好机会,前两年我一个朋友用c和c++为手机开发了一个

mad游戏,不到一年的时间就得到了融资商的亲睐,等到200万的投资,这是我

十分震惊,我也准备自己创业。

我有对google、微软、nokia、三星的运营模式进行了一下了解,最近我注意到

iphone的商业模式,由于苹果公司对网上商店软件监控十分宽松,造成,几万

水平参差不齐的软件等待下载,你有再好的软件,对于小的开发团队,已经没有

挣钱的希望了。

经过对比,发现三星公司现在在中国的手机软件销售模式十分有趣,现在似乎只

有三星公司针对中国制定的政策,他们在中国现在正在收集优秀的手机软件,而

且还帮助所有提供者(不论团体或公司大小)提高和完善软件应用,在商业分成

上也十分厚道,我觉的是个好机会。

说了这么多如果不会手机开发,我们的创业梦想都是白费,所以我开是下定决心

进入手机应用开发领域。我认为C程序员在手机应用领域是有着其他程序员不可

替代的优势的,很多手机的深层次开发都要用c和c++.所以我信心满满的给大

家介绍一下手机应用的快速学习方法:

现在了解一下最流行的Symbian系统,Symbian在全球智能手机中占有绝对的

数量优势,而Symbian的主要开发语言正好是C和C++,真是天助我们,三星移

动创新者园地中文网站:/index,为初学者

准备的经过优选的丰富的学习资料和三星工程师分享的自己的开发学习经验。先

看看下面的帖子链接。

nOS初探:

/bbs9

n入门贴:

/bbs10

3.有很多教学视频,手册和一些初级精品电子书籍,例如:“C语言入门经典”我

看了下,,感觉应该是同类型书中比较经典的,三星工程师根据自身经验给大家精

选出来的,格式都是PDF的,方便阅读和下载。

4.手机开发环境的部署:

手机开发环境的部署对于刚开始学习的人也很重要的,也有PC开发转手机开发

帮助手册和PC开发转手机开发入门知识.例如:如何配置编辑环境,到如何搭建

手机系统环境,再到编写出第一个HELLOWORD程序(程序写好后,还可以在网上

预约真机测试),每一个步骤都有很详细的配置和解决问题的方法.一般Symbian

安装配置环境的顺序是:

(1)Series602ndFP3

(2)

(3)jdk-1_5_

(4)CarbideC/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文件中要加入“”,该LIB库是C标准语言的LIB库;

(4)Symbian中的STDLIB并没有完全实现POSIX的全部标准,所以有些C库的函

数要自己实现或用其它方法来替代;

(5)在C语言工程中最好不要有可写的全局静态变量

(GlobalWriteableStaticData),在有些手机版本中是不支持全局变量的,

但可以有全局静态常量,对于全局指针常量注意要这样申明,例

如:staticctchar*ct,即要有两个“ct”.如果有出现全局静态变量

或静态常量,则在MMP文件中要加入“EPOCALLOWDLLDATA”标识,否则会出现编译

错误.对于可写的全局静态变量有种处理方法是把所有全局变量放到一个

STRUCT结构中,然后这个结构的指针用Dll::SetTls()和Dll::Tls()来存取,存

在的问题是用C编译的代码中无法调用C++的这种方法,还有一种最笨的处理

方法是把指针的值存入一个文件中;呵呵..这种方法估计一般人不会用..

(6)在C++与C的交互接口中会存在如char*与TdesC之间的转换,可以这样转

换,例如:把TDesC转换成char*:HBufC8*utf8TempText=HBufC8::ewLC(STRIG_LEGTH);

TPtr8utf8Text(utf8TempText->Des());

CnvUtfConverter::ConvertFromUnicodeToUtf8(utf8Text,TDesCStrin

g);

Char*cString=(char*)();把char*转换成TPtr:

TPtr8utf8Text((TText8*)cString,strlen(cString),strlen(cString));HBufC*ucs2TempText=HBufC::ewLC(()*2);TPtrucs2Text(ucs2TempText->Des());CnvUtfConverter::ConvertToUnicodeFromUtf8(ucs2Text

下面有篇不错的贴子介绍给大家.是关于SymbianOSC++中RTTI的实现及原理

的.主要是讲移植MFC代码实现RTTI的意义及具本实现过程,写得相当的仔细.

这个问题我原来遇到过,对我很有帮助,在这儿分享给大家:

/bbs11

--

-

C语言进入开发手机应用的最速学习指导

发布时间:2022-04-13 05:39:55
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 10 条评论,680人围观)
皮肤美容科V铁粉8 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
但要考虑C语言和C++语言的混合编程问题
枸橼酸西地那非V铁粉3 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
手册和一些初级精品电子书籍
怎么样去皱纹V铁粉4 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
UI层中的代码无法被移植
金属制品有限公司V铁粉2 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
千里光V铁粉21 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
但如果是第一次自己搭建Symbian系统环境和J2me环境的话可能会碰到很多让你抓狂的问题.三星中文网上的帮助文档会让你少走很多弯路
快速祛斑V铁粉18 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
现在似乎只有三星公司针对中国制定的政策
不吃晚饭能减肥吗V铁粉2 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
在这儿分享给大家
装饰团购V铁粉26 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
我有对google
都市花园上园V铁粉6 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
手册和一些初级精品电子书籍

最近发表

随便看看

热门文章

标签列表