0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

编译器优化对函数的影响

如意 来源:CSDN 作者:CaspianSea 2020-06-22 14:58 次阅读

编译器如gcc,可以指定不同的优化参数,在某些条件下,有些函数可能会被优化掉。

先写一个简单的测试文件:

编译器优化对函数的影响

用命令

gcc -g -c test.c

编译成目标文件。

用 nm检查函数符号:

$ nm -C test.o

00000000 T foo

现在使用 命令

gcc -g -c -O2 test.c

重新编译。

再用 nm检查:

$ nm -C test.o

00000000 T foo

还是能找到函数 foo.

这表明foo没有被优化掉

现在把函数 foo改成静态函数:

编译器优化对函数的影响

使用 -O2编译,然后用 nm查找,会发现,此时 foo符号找不到了。

可见,静态函数有可能会被GCC优化掉。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 优化
    +关注

    关注

    0

    文章

    220

    浏览量

    23928
  • 函数
    +关注

    关注

    3

    文章

    4338

    浏览量

    62769
  • 编译器
    +关注

    关注

    1

    文章

    1636

    浏览量

    49175
收藏 人收藏

    评论

    相关推荐

    SIMD计算机的优化编译器设计

    利用处理的相关资源,提高编译器优化性能和增强代码可适应性是SIMD处理优化编译的关键。该文基
    发表于 04-03 08:47 30次下载

    MCS-51程序空间扩展原理及编译器优化

    讨论了MCS-51系列单片机程序空间扩展的原理,包括硬件与编译器两个方面,并提出一种编译器优化方案.该方案在Keil仿真上检验并通过关健词:C51
    发表于 10-23 08:55 100次下载

    编译器_keil的优化选项问题

    keil编译器优化选项针对ARM,对STM32编译的一些优化的问题
    发表于 02-25 14:18 3次下载

    CodeVsionAVR编译器常用库函数简介

    CodeVsionAVR编译器常用库函数简介,很好的Proteus资料,快来下载学习吧。
    发表于 04-18 14:35 0次下载

    PICC编译器的库函数详解

    本章将详细列出PICC编译器的库函数。每个函数均从函数名开始,然后按照以下几个标题给出详细解释。
    发表于 10-14 14:17 0次下载

    C编译器及其优化

    本章将帮助读者在ARM处理上编写高效的C代码。本章涉及的一些技术不仅适用于ARM处理,也适用于其他RISC处理。本章首先从ARM编译器及其优化
    发表于 10-17 17:22 2次下载

    如何使用英特尔编译器优化Fortran、C和C ++

    了解如何使用适用于Fortran *,C和C ++的英特尔®编译器优化一些困难的循环。 示例选自经典的netlib.org矢量基准测试,这些测试不是由当前的英特尔编译器自动优化的,但
    的头像 发表于 11-08 06:02 3205次阅读

    关于volatile关键字对编译器优化的影响

    volatile关键字对编译器优化的影响
    的头像 发表于 02-28 17:15 2964次阅读

    虚拟机:编译器对C函数的名字修饰

    虚拟机:编译器对C函数的名字修饰
    的头像 发表于 06-22 11:44 2571次阅读
    虚拟机:<b class='flag-5'>编译器</b>对C<b class='flag-5'>函数</b>的名字修饰

    基于C++编译器的节点融合优化方法

    LLVM是以C十十编写的架构编译器的框架系统,支持多后端和交叉编译,用于优化程序的编译时间、链接时间、运行时间和空闲时间。节点融合是一种简单有效的
    发表于 06-15 14:29 19次下载

    编译器优化选项

    一个程序首先要保证正确性,在保证正确性的基础上,性能也是一个重要的考量。要编写高性能的程序,第一,必须选择合适的算法和数据结构;第二,应该编写编译器能够有效优化以转换成高效可执行代码的源代码,要做到
    的头像 发表于 11-24 15:37 927次阅读
    <b class='flag-5'>编译器</b>的<b class='flag-5'>优化</b>选项

    Keil编译器优化方法

    我们都知道,代码是可以通过编译器优化的,有的时候,为了提高运行速度或者减少代码尺寸,会开启优化选项。
    的头像 发表于 10-23 16:35 654次阅读
    Keil<b class='flag-5'>编译器</b><b class='flag-5'>优化</b>方法

    Triton编译器功能介绍 Triton编译器使用教程

    Triton 是一个开源的编译器前端,它支持多种编程语言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一个可扩展和可定制的编译器框架,允许开发者添加新的编程语言特性和优化技术
    的头像 发表于 12-24 17:23 459次阅读

    Triton编译器与其他编译器的比较

    Triton编译器与其他编译器的比较主要体现在以下几个方面: 一、定位与目标 Triton编译器 : 定位:专注于深度学习中最核心、最耗时的张量运算的优化。 目标:提供一个高度抽象、灵
    的头像 发表于 12-24 17:25 395次阅读

    Triton编译器优化技巧

    在现代计算环境中,编译器的性能对于软件的运行效率至关重要。Triton 编译器作为一个先进的编译器框架,提供了一系列的优化技术,以确保生成的代码既高效又适应不同的硬件架构。 1. 指令
    的头像 发表于 12-25 09:09 248次阅读