WEB开发网
开发学院手机开发Symbian 开发 让 Symbian 支持标准 C 阅读

让 Symbian 支持标准 C

 2010-03-22 16:26:00 来源:WEB开发网   
核心提示:开始学SYMBIAN起,总是会从symbian c++ 开始,它完全从GUI的一系列对象开始,让 Symbian 支持标准 C,让人感觉是一个很纯粹的新东西,另外如果真的做一些现有的算法库等的移植时,但是要注意一点,它在GCCE中需要#include 头文件,感觉上很累,因为要改的地方太多太多了

开始学SYMBIAN起,总是会从symbian c++ 开始,它完全从GUI的一系列对象开始,让人感觉是一个很纯粹的新东西,另外如果真的做一些现有的算法库等的移植时,感觉上很累,因为要改的地方太多太多了。比如memset,而在symbian要用

IMPORT_C TAny *memset(TAny *aTrg, TInt aValue, unsigned int aLength);

char,在symbian中用TBuf8或HBufC8等,不论是内存、字符串、运算符等,变化实在太大,让人如果进行移植,实在怕怕。

那么有没有好的办法让人可以直接用标准的 C或C++呢?

有,可以用OPENC,如我的S60 3rd FP1

1.下载 http://www.forum.nokia.com/info/sw.nokia.com/id/315ecb57-3aa8-4b19-8987-77997710f334/s60_open_c_cpp_plug_ins_v1_0_en.zip.html

2. 安装open c套件。

3. 在carbide中新建一个symbian os的open c console application.

4. 编译并运行。由于命令行下,在SYMBIAN不能直接看到,可按我写的上一篇把模拟器调成文本模式。

500)this.width=500;" border=0>

可以看到,我按

#include

#include

#include

// This is a GCCE toolchain workaround needed when compiling with GCCE

// and using main() entry point

#ifdef __GCCE__

#include

#endif

int main(void)

{

printf("Hello Open C! ");

printf("Press a character to exit! ");

char* buff;

buff=(char*)malloc(255);

memset(buff,0,255);

strcpy(buff,"Hello,buff ");

printf("%s",buff);

free(buff);

int c = getchar();

return 0;

}

这样的代码执行是完全可行的。但是要注意一点,它在GCCE中需要#include 头文件。

再打开它的MMP文件,看有什么不一样呢

一般的SYMBIAN的 MMP

LIBRARY euser.lib

LIBRARY apparc.lib

LIBRARY cone.lib

1 2  下一页

Tags:Symbian 支持 标准

编辑录入:coldstar [复制链接] [打 印]
赞助商链接