【笔记】rpm 打包时的编译优化

在编译nginx 时,顺便查了下编译优化的参数,留个笔记。这里说的都是gcc


./configure

--with-cc-opt="%{optflags} $(pcre-config --cflags)"


下面是make优化:


make %{?_smp_mflags}

通常优化


make %{?_smp_mflags} CFLAGS="-O3 -g -mtune=generic -m64"

i386/x86_64通用CPU,gcc 最高级别优化,64位专用


make %{?_smp_mflags} CFLAGS="-O3 -g -mtune=native -m64"

探测本地CPU,gcc最高级别优化,本地64位专用,不可移植。


make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"

红帽参数,$RPM_OPT_FLAGS通常是-02 -g


发行商为了二进制文件的可移植性,以及在不同机器上的兼容性,-mtune=native -m64 这样的参数肯定是没加的,事实上这些参数可以略微提高二进制文件的执行性能。


如果是通过srpm编译来获得软件包,完全可以定制编译。


注:对于C++,请把 CFLAGS 替换为 CXXFLAGS 。


另外,打包时,安装软件包redhat-rpm-config 很有必要。它预设了一些环境,会自动根据你的环境进行优化,详见 /usr/lib/rpm/rpmrc和 /usr/lib/rpm/redhat/rpmrc


参考文档

http://gcc.gnu.org/onlinedocs/gcc-4.4.7/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值