可以使用汇编来写Symbian程序
2008-10-25 16:36
627 查看
简单介绍一下。Symbian手机一般跑的都是ARM的CPU的,那么一般的ARM汇编当然也可以使用了。
NOKIA提供的SYMBIAN开发都是C/C++的例子程序,就封装了绝大多数的底层操作。不过有些时候,为了加快运行速度,我们还是可以使用汇编语言来编写子程序的。当然,使用的是ARM汇编,而不是我们一般学习的80X86汇编
这里我举个简单的TestArm.S的汇编例子.
首先,在src目录下增加一个TestArm.S的文件。然后写上如下的汇编代码。
.text
.global MyAdd
MyAdd:
add r0,r0,r1
mov pc,lr
完成一个加法的子程序。
然后,在View类的C++程序中,增加对它使用的代码:
extern "C"{
extern int MyAdd(int a,int b);
}
记住,汇编写出来的都是C语言的函数。
使用直接使用这个函数就OK了。
int c = MyAdd(100,100);
最后,修改MMP文件。
庆幸的是,GCC能够自己识别汇编还是C/C++文件。所以,直接增加到MMP一行就OK了。
SOURCE TestArm.S
不过最后说一下,这样只能是在abld build armi urel来编译。不能在WINDOWS上编译,更不能在WINDOWS上运行,或者说是80X86上运行。
关于ARM汇编语言的编写,找一些搞嵌入式开发的资料就可以了。其实Symbian也无法是个嵌入式设备的操作系统。
NOKIA提供的SYMBIAN开发都是C/C++的例子程序,就封装了绝大多数的底层操作。不过有些时候,为了加快运行速度,我们还是可以使用汇编语言来编写子程序的。当然,使用的是ARM汇编,而不是我们一般学习的80X86汇编
这里我举个简单的TestArm.S的汇编例子.
首先,在src目录下增加一个TestArm.S的文件。然后写上如下的汇编代码。
.text
.global MyAdd
MyAdd:
add r0,r0,r1
mov pc,lr
完成一个加法的子程序。
然后,在View类的C++程序中,增加对它使用的代码:
extern "C"{
extern int MyAdd(int a,int b);
}
记住,汇编写出来的都是C语言的函数。
使用直接使用这个函数就OK了。
int c = MyAdd(100,100);
最后,修改MMP文件。
庆幸的是,GCC能够自己识别汇编还是C/C++文件。所以,直接增加到MMP一行就OK了。
SOURCE TestArm.S
不过最后说一下,这样只能是在abld build armi urel来编译。不能在WINDOWS上编译,更不能在WINDOWS上运行,或者说是80X86上运行。
关于ARM汇编语言的编写,找一些搞嵌入式开发的资料就可以了。其实Symbian也无法是个嵌入式设备的操作系统。
相关文章推荐
- [转贴]可以使用汇编来写Symbian程序
- 可以使用汇编来写Symbian程序
- Symbian 程序自定义入口点以及使用 ARM 汇编的一点记录
- 【C语言】【面试题】使用main函数的参数,实现一个整数计算机,程序可以接受三个参数
- 使用ODP.Net 可以实现.Net 程序以SYSDBA 身份访问数据库
- CCS中使用DSP定时器的计时程序,可以精确计算某一段程序的执行时间
- 今天就教大家查看手机的内存使用情况,可以帮你查看自己的程序占用了多大的内存(图文说明)
- 使用database control 配置数据库时,要求在当前oracle主目录中配置监听程序,必须运行Netca以配置监听程序,然后才能继续。或者可以选择继续,但是不要使用database cont
- 创建一个程序读入和显示视频文件,并可以使用滑动条控制视频文件的播放。一个滑动条用来控制视频播放位置,以10为步长跳进。另一个滑动条用来控制停止/播放
- G++ 4.4.7 无法编译模板程序,Vs可以,和解?智者尾部留言,本人第一次使用vs pro,通常并且习惯在linux下写些小东西,虽然程序简单;
- 在后端是PHP程序的情况下,保持前端Javascript和PHP之间传值的统一编码可以使用以下函数进行处理:
- 强制终止程序(效果不是很好,如果没有合适的可以使用)
- 让Milestone的程序可以使用Google map API
- 一个可以禁用USB存储设备的程序(SetupAPI的使用方法)
- 单片机汇编程序使用误区
- linux下使用汇编语言编写hello world!程序
- 使用ARM汇编破解iOS程序基础知识分享
- 完成一个学生管理程序,使用学号作为键添加5个学生对象,并可以将全部信息保存在文件中,可以实现对学生信息的学号查找,输出全部学生信息的功能。
- 如何在Symbian程序中使用超链接
- 小程序从本地相册选择图片或使用相机拍照wx.chooseImage上传后预览并可以识别图中二维码