Symbian OS S60 3rd platform 开发入门
2010-03-24 03:56:00 来源:WEB开发网aFileName.Insert(0, appDrive);
}
}
}
使用CEikLable
http://wiki.forum.nokia.com/index.php/How_to_use_CEikLabel
在Symbian中使用标准C库函数
在.mmp文件中加入库estlib.lib即:
LIBRARY estlib.lib
Symbian限制使用STL
“
C++模板类(例如由STL生成的类)提供了一种在类型安全方式中参数化容器类的方法,然而使用模板将带来复制Code的缺点,因为每当声明不同类型的容器时,就会为复制一份这种类型的容器类Code,这不符合Symbian OS中保持最小代码量的要求。
因此,Symbian希望限制C++模板的使用在“瘦模板”的概念内。此模式使用的是未定义类型(void*)(事实上是等价于void*的TAny*类型)作为参数的基本容器类,容器的Code在此模板化的基类中指定,并通过私继承来访问其具体实现。该模板类为调用者提供了一个类型安全的容器接口,并通过内联方式实现调用。
由此模板类产生的代码量是可以忽略不计的,因为它是内联的,也因为它是参数化的。同样该容器是类型安全的。此概念避免了code的复制,是如此的“苗条”。
正因为只使用瘦模板的约定和效率方面的考虑,在Symbian OS中没有实现STL.
”
另外,Symbian也不推荐使用多重继承
.mbm生成在指定目录下
.mbg文件生成在..S60_3rd_FP2_SDK_v1.1epoc32include目录下
.pkg指定的文件驱动盘符为“!”时,读取文件方法如下:
e.g.
.pkg: -"!:systemappsCal_prototype_01_0xE49A95EFCal_prototype_01.mbm"
.cpp中路径: "\system\apps\Cal_prototype_01_0xE49A95EF\Cal_prototype_01.mbm"
与字体相关的库
LIBRARY gdi.lib
LIBRARY fbscli.lib
比如出现类似“Undefined symbol: 'int CFont::DescentInPixels(void) const ...”的错误
symbian系统有两种应用程序格式:
.app
.exe
Carbide.C++ 可以启动epoc32并自动加载运行.exe文件。.app与.exe文件可以在Menu->Installations中找到并运行。
.app文件已经废弃,不再推荐使用。
老程序在新平台上编译出现:
“undefined symbol:'int E32Main(void)...'”错误。
更多精彩
赞助商链接