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

    浏览量

    23868
  • 函数
    +关注

    关注

    3

    文章

    4304

    浏览量

    62420
  • 编译器
    +关注

    关注

    1

    文章

    1618

    浏览量

    49047
收藏 人收藏

    评论

    相关推荐

    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次下载

    如何使用编译器进行定位优化信息

    在本次网络研讨会中,我们将向您展示如何使用编译器选项来定位您正在寻找的确切优化信息以及如何使用此信息来加速你的申请。
    的头像 发表于 11-01 06:50 2594次阅读

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

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

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

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

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

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

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

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

    深度学习编译器之Layerout Transform优化

    继续深度学习编译器优化工作解读,本篇文章要介绍的是OneFlow系统中如何基于MLIR实现Layerout Transform。
    的头像 发表于 05-18 17:32 695次阅读

    编译器优化选项

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

    Keil编译器优化方法

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

    C7000优化C/C++编译器

    电子发烧友网站提供《C7000优化C/C++编译器.pdf》资料免费下载
    发表于 10-30 09:45 0次下载
    C7000<b class='flag-5'>优化</b>C/C++<b class='flag-5'>编译器</b>