首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈Linux环境gcc优化级别

代码优化可以说是一个非常复杂而又非常重要的问题,以笔者多年的linux c开发经验来说优化通常分为两个方面,一是人为优化,也就是基于编程经验采用更简易的数据结构函数等来降低编译器负担,二是采用系统自带的优化模式...,也就是gcc – o系列,下面我将简述一各级优化的过程以及实现。...gcc – o1 首先o1上面还有一个o0,那个是不提供任何优化,项目中几乎不会使用,而o1使用就非常广泛了,o1是最基本的优化,主要对代码的分支,表达式,常量来进行优化,编译器会在较短的时间将代码变得更加短小...gcc – o2 这个优化级别是o1的进阶,在上一级的基础上会进行更严格的细分,最重要的是加入了寄存器的使用。...总结 以上就是本文关于浅谈Linux环境gcc优化级别的全部内容,希望对大家有所帮助。欢迎大家继续参阅本站其他相关专题,感谢朋友们对ZaLou.Cn网站的支持。

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linuxClang和gcc的区别

    Clang 比 GCC 编译器的优势: 编译速度更快 编译产出更小 出错提示更友 好,比如 clang 在编译过程可以直接指出相对简单的出错位置以及它 “ 认为 ” 正确的方式 。...Gcc 的优势: · 一些软件用 clang 编译会出现莫名其妙的错误,但是用 gcc 编译可以通过 。...尤其是在比较极端的情况。 两年多前曾经写过一个Scheme解释器,词法分析和语法解析部分大约2000行,用的是Boost.Spirit——一个重度依赖C++模版元编程的框架。...中间产出物极大:编译出的所有.o文件加在一起大约1~2G,debug链接产物超过200M 编译错误极其难以理解:编译错误经常长达几十K,基本不可读,最要命的是编译错误经常会长到被g++截断,看不到真正出错的位置...至少我当前在Ubuntu用clang 3.0编译出的二进制文件已经可以顺利用gdb调试了。 最后一点,其他同学也有讲到,就是Clang采用的是BSD协议。

    5.3K10

    【香菇带你学Linux】​Linux环境gcc编译安装

    本软件没有任何担保; 包括没有适销性和某一专用目的的适用性担保。 1....安装前准备工作 如果需要再root下直接安装,请参考文章最后的root编译安装gcc脚本 1.1 创建weihu用户 养成良好安装习惯,不使用root直接安装。...如果需要再root安装,请略过本文1.1小节即可 这里我们注册一个weihu用户,并赋予维护用户sudo权限。.../pub/gcc/infrastructure/ 这里我们下周最新的版本6.2.1版本 可以下载到本地再上传到Linux主机,若Linux主机可以访问公网,也可以通过wget方向直接下载到Linux主机...至此安装成功,然后我们将gcc添加进入系统环境变量 # 软链接 [weihu@localhost ~]$ sudo ln -s /usr/local/gcc-10.1.0/bin/gcc gcc [weihu

    28000

    linux使用gcc编译运行C程序

    gcc(GNU Compiler Collection)是Linux最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。 ...在linux系统中,常见的使用方法有两种,如下: gcc -o out in1 in2 //gcc编译以及链接(对in1文件和in2文件进行编译生成...out.o文件,“-c”:表示只生成*.o文件) 若在arm板里运行,就需要在linux系统中使用arm-linux-gcc交叉编译才行: arm-linux-gcc -o out in1...in2 //gcc编译以及链接(对in1文件和in2文件进行编译生成out.bin文件,“-o”:表示生成可执行文件) arm-linux-gcc -c...vi hello.c                          //编辑hello.c 内容如下: gcc -o hello  hello.c  a.c               //gcc

    7.4K90

    linux使用gcc编译运行C程序

    gcc(GNU Compiler Collection)是Linux最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。 ...在linux系统中,常见的使用方法有两种,如下: gcc -o out in1 in2 //gcc编译以及链接(对in1文件和in2文件进行编译生成...out.bin文件,“-o”:表示生成可执行文件) gcc -c out in1 in2 // gcc编译不链接(对in1文件和in2文件文件进行编译生成...out.o文件,“-c”:表示只生成*.o文件) 若在arm板里运行,就需要在linux系统中使用arm-linux-gcc交叉编译才行: arm-linux-gcc -o out in1...in2 //gcc编译以及链接(对in1文件和in2文件进行编译生成out.bin文件,“-o”:表示生成可执行文件) arm-linux-gcc -c

    6.1K70

    LinuxGCC编译器的安装「建议收藏」

    通过apt-get方式下载的Qt5.9的gcc编译器版本只是4.8.3,无法打开一些Qt5的库头文件,所以准备在Llinux再安装一个gcc5.3.0。...查看gcc版本 ubuntu查看gcc的版本非常简单,直接在终端上输入gcc -v 或者 gcc –version,就会显示版本信息了,而且它配置的编译脚本参数也可看到,如下图所示: gcc下载安装...#cd /opt #wget http://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz 2、解压 #tar -xvf gcc-5.3.0.tar.gz...-5.3.0/bin/gcc gcc #ln -s /usr/local/gcc-5.3.0/bin/g++ g++ 9、添加环境变量 # vim /etc/bashrc 添加如下代码: #gcc...参考: DamonXu-博客园-linux编译安装gcc5.3.0 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167411.html原文链接:https://javaforall.cn

    6.2K20
    领券