现在的位置: 首页 > 综合 > 正文

symbian gcc 编译器 优化

2013年06月09日 ⁄ 综合 ⁄ 共 2927字 ⁄ 字号 评论关闭

1。升级到gcce 4http://www.cnblogs.com/felixYeou/archive/2009/02/18/1392847.html

2.gcce 优化参数,关于3rd_mr和3rd_FP1生成的安装包大小http://wiki.forum.nokia.com/index.php/%E5%85%B3%E4%BA%8E3rd_mr%E5%92%8C3rd_FP1%E7%94%9F%E6%88%90%E7%9A%84%E5%AE%89%E8%A3%85%E5%8C%85%E5%A4%A7%E5%B0%8F

3。gcce优化2  http://wiki.forum.nokia.com/index.php/GCCE_compiler_options

4. arm架构及指令集http://zh.wikipedia.org/zh/ARM%E6%9E%B6%E6%A7%8B

5。更改arm指令集

C:/S60/devices/Nokia_N97_SDK_v1.0/epoc32/tools/compilation_config


原来:

TARGET_ARCH_OPTION=-march=armv5t

改为:

TARGET_ARCH_OPTION=-march=armv5te

 

6。arm option

http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/ARM-Options.html

 

7. arm指令集http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0100i/index.html

8.如何消除 -Wno-ctor-dtor-privacy 警告

/epoc32/tools/compilation_config/gcce.mk 文件中将 "-Wno-ctor-dtor-privacy"移动到 CPP_LANG_OPTION below

变成

CC_WARNINGS_CONTROL_OPTION=-Wall -Wno-unknown-pragmas


CPP_LANG_OPTION=-x c++ -Wno-ctor-dtor-privacy
9。n97 sdk编译汇编,改ARM_INSTRUCTION_SET=-marm为ARM_INSTRUCTION_SET= 就可。

3.3        Target Platforms and Variants
     Applications can be built for different target platforms, to serve different purposes. There are two main target platforms written in short terms as WINS and MARM, where WINS denotes a Windows Single process platform running under an emulator within the Windows environment, and MARM means a Multiprocess ARM platform running in a real target device.

    In addition, the WINC platform is a target build for Windows Connectivity application engines.
Under Symbian OS v6.0 and later releases, the MARM target is no longer supported. Instead, it has been expanded to ARMI, ARM4, and THUMB. The ARM7 and ARM9 processors support two instruction sets – ARM4 and THUMB. ARM4 uses 32-bit instructions, which generally results in faster code. THUMB uses16-bit instructions, which generally results in a smaller, on-disk footprint, but slower execution.

    ARM4 compiled code cannot be linked with THUMB compiled code, and vice versa. Code compiled for ARMI can be linked against THUMB or ARM4 compiled code. For a third-party developer, ARMI is the safest choice when building for the target device.
    Each platform may provide two variants: udeb and urel for programs debugging and for release mode, respectively. Both udeb and urel are Unicode builds (u denotes Unicode and deb indicates debug). In the days when Symbian OS supported only narrow builds, these variants were seen as deb and rel.
    Although the code may be 100 percent identical, applications that are built for the WINS platform cannot run on an ARM-processor target device.

    应用程序能为不同的用途进行多平台编译。最主要的两个平台WINS和MARM,WINS为模拟器服务,MARM是多处理器的arm平台(实时系统)。

    另外i,WINC平台是windows下的连接程序引擎。在symbian os 6及以后的版本中,不再支持MARM。它扩展到了ARMI, ARM4, and THUMB。  ARM7 and ARM9平台支持ARM4 and THUMB两套指令。ARM4 使用32位的指令,它能生成更快的代码。 Thumb使用16的指令,它能生成更小的,但相对慢的应用。

    ARM4编译的代码不能linkTHUMB编译的代码,反之亦然。使用ARMI编译的代码能用link到THUMB和ARM4编译的代码。对于第三方开发者来说,ARMI是一个安全的选择。

     每套平台可能提供2套变量,udeb和urel,分别对应debug和release模式,特别要注意的是udeb和urel都是Unicode编译。

     虽说代码完全一样,WINS编译的应用在ARM架构上完全不能运行。

 

 

10.编译错误“cannot find -lsupc++ http://blog.csdn.net/actual_/archive/2009/11/11/4799963.aspx

11.在Vista系统上搭建Symbian开发环境的实践http://blog.csdn.net/sharetop/archive/2008/02/23/2115115.aspx

 

抱歉!评论已关闭.