SylixOS 工具链和标准 GCC 的区别

SylixOS 工具链和标准 GCC 的区别

Q:翼辉工具链和标准工具链 GCC 的区别?
gcc 面向 xxx 操作系统一般都叫作 arm-xxx-eabi-gcc,比如 arm-sylixos-eabi-gcc
首先,gcc 不仅是编译器,同时提供了 c/c++ 运行所必须的内建库和运行时支持,这些库要在多线程甚至多核上稳定运行,需要依赖于操作系统所提供的一些关键性原语服务,这些服务在 gcc 裸机开发工具链里面是没有的,这就存在很大风险,我们的 gcc 编译器解决了这个问题,让编译器内建库可以很好的与操作系统服务融合。
其次,这些内建库优化空间很大,针对不同 cpu 兼容指令集,SylixOS 的 gcc 工具链提供了很多优化,主要优化不同架构的驱动。

    • Related Articles

    • SylixOS 的 GCC 编译工具链介绍

      问:翼辉的 gcc 编译工具链是基于 GNU 编译器套件的哪个版本进行优化的? RealEvo-IDE 编译工具链说明 翼辉的 gcc 工具链是 基于 GNU 编译器套件 gcc version 4.9.3 针对不同 CPU 兼容指令集进行优化。不同架构工具链版本差异请查看具体工具链内部。 注:RealEvo-IDE(4.0.0)以前,所使用的编译器版本主要为4.9.3,是2014 年开 发的版本,随着cpu 的推陈出新和gcc 的发展,需要升级编译器方能支持新的 cpu 和体验进年来gcc ...
    • IDE 交叉编译工具链更换

      问:如何更换 IDE 的交叉编译工具链? 1、打开 IDE 的安装目录,此处以我的安装目录为例,如下图所示为 SylixOS 自带的交叉编译工具链。 2、将修改的交叉编译工具链进行相应的替换。 3、重启 IDE 即可使用新的交叉编译工具链。
    • SylixOS 的编译工具链优化等级是怎样的?

      Q:SylixOS 的 IDE 开发环境中,配置工具链中的 release 和 debug 选项优化等级是怎样的? 在 SylixOS 的 IDE 中编译工具链 release 是 O2 优化等级,debug 是 O0 优化等级。
    • SylixOS Kill 命令使用和 linux 的区别

      Q:SylixOS Kill 命令使用和 linux 的区别 相同点: 就是发送信号给指定的进程 不同点 linux kill 只能 kill 一个进程, 一般使用格式是 kill - 数字 进程号 eg: kill -9 3567 sylixos kill 能 kill 一个进程或者线程,一般使用的格式是 kill tid/pid, 或者kill -n signo pid/tid eg: kill 3 或者 kill -n 9 3 kill tid/pid 默认发送的信号是 SIGKILL ...
    • GCC浮点相关的编译选项配置

      gcc的浮点相关编译选项配置 GCC 中的浮点相关的编译选项属于依赖于不同平台的配置选项, 本文的相关配置都是在 ARM32 平台下. SylixOS 下常用的浮点编译配置有两个 -mfpu=name, -mfloat-abi=name 测试程序 #include <stdio.h> #include <time.h> float calc(float *src_mem_32, float *dst_mem_32) {    float mem_32;    int i, j;    for ...